Matlab vs Python 作图
-- Matlab 作图示例 x=-3:0.00003:3;
y1=sin(x)./x; y2=x./sin(x); plot(x,y1,x,y2);
-- Python 作图示例 import numpy as np
import matplotlib.pyplot as plt x = np.arange(-3, 3, 0.00003)
y1 = 1/(np.sin(x)) * x
y2 = (np.sin(x)) / x plt.plot(x, y1, x, y2)
plt.show()
GeoGebra 工具作图:
python 画普朗克线(黑体辐射):
import numpy as np
import matplotlib.pyplot as plt x = np.arange(0.1, 2, 0.002)
y1=1/x**5/(np.exp(2.2/x)-1) plt.plot(x, y1)
plt.show()
书本示例:
1、条形图
#!/usr/bin/env_python3
import matplotlib.pyplot as plt
plt.style.use('ggplot')
customers = ['ABC','DEF','GHI','JKL','MNO']
#生成序列:0,1,2,3,4
customers_index = range(len(customers))
sale_amounts = [127,90,201,111,232]
fig=plt.figure()
ax1=fig.add_subplot(1,1,1)
ax1.bar(customers_index,sale_amounts,align='center',color='darkblue')
ax1.xaxis.set_ticks_position('bottom')
ax1.yaxis.set_ticks_position('left')
#设置x轴显示值为customers
plt.xticks(customers_index,customers,rotation=0,fontsize='small')
plt.xlabel('Customer Name')
plt.ylabel('Sale Amount')
plt.title('Sale Amount per Customer')
#保存图片
plt.savefig('bar_plot.png',dpi=400,bbox_inches='tight')
plt.show()
2、直方图
import numpy as np
import matplotlib.pyplot as plt plt.style.use('ggplot') #随机种子,一旦随机种子参数确定,np.random.randn生成的结果也确定
np.random.seed(19680801) #生成正态分布数据
mu=100 #正态分布均值点
sigma=15 #正态分布标准差
x=mu1+sigma*np.random.randn(10000) #np.random.randn标准正态分布随机值 num_bins=50 #histogram组数,即柱子的个数 fig,ax=plt.subplots() #the histogram of the data
#n 表示每个bin的值
#bins,shape为n+1,bins的边界
#patcher histogram中每一个柱子
#生成的直方图面积和为1,即sum(n*(bins[1:]-bins[-1]))==1
n,bins,patches=ax.hist(x,num_bins,density=1,color='darkgreen') #正态分布拟合曲线
y=((1/(np.sqrt(2*np.pi)*sigma))*np.exp(-0.5*(1/sigma*(bins-mu))**2))
ax.plot(bins,y,'--') #画直线 plt.xlabel('Abscissa labels') #横坐标label
plt.ylabel('Probability density') #纵坐标label
ax.set_title(r'Histogram of IQ: $\mu=100$, $\sigma=15$') #设置标题
ax.xaxis.set_ticks_position('bottom') #设置坐标轴显示位置
ax.yaxis.set_ticks_position('left')
fig.set_facecolor('cyan') #设置figure面板颜色(青色) #plt.savefig('historgram.png',dpi=400,bbox_inches='tight')
plt.show()
matplotlib 官方文档:https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
参考书本:《Python 数据分析基础》陈光欣 译
Matlab vs Python 作图的更多相关文章
- matlab vs python
(参考)从下图可以清晰看到matlab和python之间的区别 Python是一种编程语言,但与其他变成语言的不同在于:python具有许多的扩展库(通过import引入) Matlab是集合计算环境 ...
- 【算法导论】八皇后问题的算法实现(C、MATLAB、Python版)
八皇后问题是一道经典的回溯问题.问题描述如下:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8*8个方格),使它们谁也不能被吃掉? 看到这个问题,最容易想 ...
- matlab转python
最近在做把matlab代码转成python代码,没有用过matlab,python也只是局限于爬虫,所以.... matlab与python最大的不同是,matlab的下标是从1开始的,python和 ...
- Matlab和Python用于深度学习应用研究哪个好?
Matlab和Python都有一些关于深度学习的开源的解决方案(caffe\DeepMind\TensorFlow),基于哪个开展应用研究好?
- 选择、循环与函数结构:MATLAB VS Python
选择.循环与函数结构:MATLAB VS Python 整理基本的程序控制结构,主要是选择 和 循环. 1.MATLAB选择结构 (1)单分支if语句格式: if 条件 语句组 end (2)双分支i ...
- 切片操作:MATLAB VS Python
切片操作:MATLAB VS Python 一.MATLAB 矩阵的拆分 1.冒号表达式: t = e1:e2:e3 e1表示初始值,e2为步长,e3为终止值(包括e3),产生一个从e1到e3,步长为 ...
- matlab 调用 python
众所周知,Python凭借其众多的第三方模块,近年来被数据分析.机器学习.深度学习等爱好者所喜爱,最主要的是Python还是开源的.另一方面,MATLAB因其在仿真方面的独特优势也被众多人追捧.而在国 ...
- matlab与python scipy.signal中 freqs freqz 中w,什么时候是角频率,什么时候是真实的工程中使用的采样频率Hz,如何转化
matlab与python scipy.signal中的freqs,freqz频率分析函数,输出的w,有时候是角频率,有时候是真实频率,容易搞混,这里对比一下. 0. 精要总结: 1) freqs: ...
- Matlab 调用 Python 脚本
Matlab 调用 Python 脚本 最近尝试在 Matlab 环境中调用 Python 脚本,这里总结下碰到的几个问题. 1. Python 模块加载 在 Matlab 函数中,想要将 Pytho ...
随机推荐
- 转载:C/C++检测内存泄漏的工具 vld Visual Leak Detector223 的使用方法和sample示例
这类的工具有 比如 :LeakDiag leakfinder "Visual Leak Detector" vld可以从http://vld.codeplex.com/releas ...
- POJ 1804 逆序对数量 / 归并排序
Brainman Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12175 Accepted: 6147 Descrip ...
- idea中javaweb的mysql8.0.15配置问题
mysql8.0.x以后的版本在连接数据库的时候有些不同. 首先: Class.forName("com.mysql.cj.jdbc.Driver"); 其次: DriverMan ...
- Spring基础入门(一)
一.Spring概念 1.什么是Spring Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前 ...
- springboot application.properties
verify if you have this items: @Bean public CommonsMultipartResolver multipartResolver() { CommonsMu ...
- android 到底是什么决定了app的名称 application label activity label
原文地址:http://blog.csdn.net/lamp_zy/article/details/7878979 原来博主的博客的名字仅仅是application label表示菜比的我没有搜到,然 ...
- 自已实现一个UI库
[2014年写一个UI库时写的几个文章,公布出来] 几年前的一个嵌入式的UI开发,使自己有机会接触到了UI的一些底层知识,尽管之前也开发过非常多Windows下的信息应用系统,也做非常多的界面开发,但 ...
- x86CPU 实模式 保护模式 傻傻分不清楚? 基于Xv6-OS 分析CR0 寄存器
基于Xv6-OS 分析CR0 寄存器 之前一直认为晕乎乎的...啥?什么时候切换real model,怎么切换,为什么要切换? ------------------------------------ ...
- C#如何发布项目 发布软件
如下图所示,我随便搞了一个小软件,为了测试还在Debug目录下放了一个一副图片和一个LOGO 直接点击生成-发布 "软件名称",然后点击完成 结果报错说没找到SignToo ...
- jQuery整理笔记七----几个经典表单应用
1.文本框获得(失去)焦点 当文本框获得输入焦点时,将该文本框高亮显示,算不得一个应用,仅仅是一个小技巧,能够提高用户体验. <!DOCTYPE html PUBLIC "-//W3C ...