您的位置:首页 > 编程语言 > Python开发

《python科学计算》matplotlib学习

2015-12-27 14:27 489 查看
Gallery页面
中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,可根据需要在这个页面中浏览/复制/粘贴/修改。

gallery 地址 http://matplotlib.sourceforge.net/gallery.html
例子1.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 1000) #创建等差数列,起点、终点、个数
y = np.sin(x)
z = np.cos(x**2)

plt.figure(figsize=(8,4)) #创建Figure对象,指定长宽

plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
plt.plot(x,z,"b--",label="$cos(x^2)$") # $使用LaTex转换成数学公式,会降低速度
plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("PyPlot First Example")
plt.ylim(-1.2,1.2) #设置y轴显示范围
plt.legend()
plt.savefig('test.png', dpi=120) #保存图片,pdi设置图像分辨率,所以保存的图像是(8*120)*(4*120)大小的。
plt.show()  #这里顺序有讲究,先显示后保存,图像就没有了,保存图像为空白。每次显示,似乎都有清空图像的感觉。
结果:



例子2. 画散列点

a)

import matplotlib.pyplot as plt
import numpy as np

plt.plot(np.random.random(100), np.random.random(100), 'o') #无法单独指定颜色和大小
plt.show()



b)

import matplotlib.pyplot as plt
import numpy as np

x = np.random.random(100)
y = np.random.random(100)
#scatter(),可指定每个点的颜色和大小。
#s指定点的大小,c颜色,marker形状,alpha透明度,lw线宽,facecolor为'none'时散列点没有颜色填充
plt.scatter(x, y, s=x*1000, c=y, marker=(6,1), alpha=0.8, lw=2, facecolors='1')
plt.xlim(0,1)
plt.ylim(0,1)
plt.show()


例子3. 图像。

import matplotlib.pyplot as plt
import numpy as np

img = plt.imread('Koala.jpg')
plt.imshow(img)



显示出来的图像是反着的。如要正常显示,则需:a) 

plt.imshow(img[::-1]) #反转图像数组的第0轴

 或者b) 
plt.imshow(img,origin='lower')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: