-- 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 作图的更多相关文章

  1. matlab vs python

    (参考)从下图可以清晰看到matlab和python之间的区别 Python是一种编程语言,但与其他变成语言的不同在于:python具有许多的扩展库(通过import引入) Matlab是集合计算环境 ...

  2. 【算法导论】八皇后问题的算法实现(C、MATLAB、Python版)

    八皇后问题是一道经典的回溯问题.问题描述如下:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8*8个方格),使它们谁也不能被吃掉?         看到这个问题,最容易想 ...

  3. matlab转python

    最近在做把matlab代码转成python代码,没有用过matlab,python也只是局限于爬虫,所以.... matlab与python最大的不同是,matlab的下标是从1开始的,python和 ...

  4. Matlab和Python用于深度学习应用研究哪个好?

    Matlab和Python都有一些关于深度学习的开源的解决方案(caffe\DeepMind\TensorFlow),基于哪个开展应用研究好?

  5. 选择、循环与函数结构:MATLAB VS Python

    选择.循环与函数结构:MATLAB VS Python 整理基本的程序控制结构,主要是选择 和 循环. 1.MATLAB选择结构 (1)单分支if语句格式: if 条件 语句组 end (2)双分支i ...

  6. 切片操作:MATLAB VS Python

    切片操作:MATLAB VS Python 一.MATLAB 矩阵的拆分 1.冒号表达式: t = e1:e2:e3 e1表示初始值,e2为步长,e3为终止值(包括e3),产生一个从e1到e3,步长为 ...

  7. matlab 调用 python

    众所周知,Python凭借其众多的第三方模块,近年来被数据分析.机器学习.深度学习等爱好者所喜爱,最主要的是Python还是开源的.另一方面,MATLAB因其在仿真方面的独特优势也被众多人追捧.而在国 ...

  8. matlab与python scipy.signal中 freqs freqz 中w,什么时候是角频率,什么时候是真实的工程中使用的采样频率Hz,如何转化

    matlab与python scipy.signal中的freqs,freqz频率分析函数,输出的w,有时候是角频率,有时候是真实频率,容易搞混,这里对比一下. 0.  精要总结: 1) freqs: ...

  9. Matlab 调用 Python 脚本

    Matlab 调用 Python 脚本 最近尝试在 Matlab 环境中调用 Python 脚本,这里总结下碰到的几个问题. 1. Python 模块加载 在 Matlab 函数中,想要将 Pytho ...

随机推荐

  1. Linux下汇编语言学习笔记16 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  2. jQuery插件之ajaxFileUpload(ajax文件上传)

    一.ajaxFileUpload是一个异步上传文件的jQuery插件. 传一个不知道什么版本的上来,以后不用到处找了. 语法:$.ajaxFileUpload([options]) options参数 ...

  3. 用 字蛛 取出需要的字符应用字体 @font-face

    一.安装font-spider npm install font-spider -g 二.目录结构 font-spider font FZZZHONGHJW.ttf font.html 三.font. ...

  4. Bad Luck Island-CodeForce(dp)

    链接:http://codeforces.com/problemset/problem/540/D 题目大意: 这个岛上有三种生物   r石头  s剪刀 p布 求最后只剩一种生物的概率 用dp[i][ ...

  5. Spring在Java Filter注入Bean为Null的问题解决

    在Spring的自动注入中普通的POJO类都可以使用@Autowired进行自动注入,但是除了两类:Filter和Servlet无法使用自动注入属性.(因为这两个归Web容器管理)可以用init(集承 ...

  6. Ubuntu 16.04利用SecureCRT上传/下载文件(sz/rz命令)

    说明:XShell同样也是支持的. 一.安装软件 sudo apt-get install lrzsz 二.sz下载文件用法: #下载一个文件 sz filename #下载多个文件 sz filen ...

  7. firewalld filter

    实现 firewalld  的filter 功能 1. 关闭 INPUT ,关闭OUTPUT  (设置黑名单) 任何主机 都 ping 不通 本主机 1>命令 : iptables -P INP ...

  8. JsonArray和JsonObject的使用

    import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static v ...

  9. chorme requestBody

    https://stackoverflow.com/questions/18534771/chrome-extension-how-to-get-http-response-body Chrome w ...

  10. hdu 1258 Sum It Up (dfs+路径记录)

    pid=1258">Sum It Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...