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

Matplotlib绘图基础——创建画布、子图、图例等

2019-04-06 20:26 597 查看

       Matplotlib中应用最广的是matplotlib.pyplot模块,其绘制遵循以下流程:创建画布—(是否创建子图—选定子图)—添加标题、添加xy轴名称、修改xy轴刻度与范围—绘制图形—添加图例—完成绘制—保存图形—显示图形

1.创建画布

        首先构建一张空白画布,并可选择是否划分成多个画布。当只绘制一幅时,可省略该步骤。创建画布函数为:plt.figure()。

[code]import numpy as np
import matplotlib.pyplot as plt

data=np.arange(0,1.1,0.01)

plt.title('lines')   #添加标题名称,可以指定位置、颜色、字体大小等参数
plt.xlabel('x')      #添加x轴名称,可以指定位置、颜色、字体大小等参数
plt.ylabel('y')      #添加y轴名称,可以指定位置、颜色、字体大小等参数
plt.xlim((0,1))      #指定x轴范围,只能确定一个数值区间,无法使用字符串标识
plt.ylim((0,1))      #指定y轴范围,只能确定一个数值区间,无法使用字符串标识
plt.xticks([0,0.2,0.4,0.6,0.8,1])  #指定x轴刻度的数目与取值
plt.yticks([0,0.2,0.4,0.6,0.8,1])  #指定y轴刻度的数目与取值
plt.plot(data,data**2)             #绘图函数y=x^2
plt.plot(data,data**4)             #绘图函数y=x^4
plt.legend(['y=x^2'])              #指定当前图形的图例,可以指定图例的大小、位置、标签等
plt.savefig('.../a.png')           #保存绘制的图形路径,可以指定图形的分辨率、边缘的颜色等参数
plt.show()                         #在本机显示图形

2.创建子图

        创建子图函数:figure.add_subplot() ,代码如下:

[code]import numpy as np
import matplotlib.pyplot as plt

x1=np.arange(0,np.pi*2,0.01)

#第一幅子图
p1=plt.figure(figsize=(8,6),dpi=80) #第一幅子图,并确定画布大小
ax1=p1.add_subplot(2,2,1)           #创建一个2行1列的子图,并开始绘制第一幅

plt.title('lines')                  #添加标题名称,可以指定位置、颜色、字体大小等参数
plt.xlabel('x')                     #添加x轴名称,可以指定位置、颜色、字体大小等参数
plt.ylabel('y')                     #添加y轴名称,可以指定位置、颜色、字体大小等参数
plt.xlim((0,1))                     #指定x轴范围,只能确定一个数值区间,无法使用字符串标识
plt.ylim((0,1))                     #指定y轴范围,只能确定一个数值区间,无法使用字符串标识
plt.xticks([0,0.2,0.4,0.6,0.8,1])   #指定x轴刻度的数目与取值
plt.yticks([0,0.2,0.4,0.6,0.8,1])   #指定y轴刻度的数目与取值
plt.plot(x1,x1**2)                  #绘图函数y=x^2
plt.plot(x1,x1**4)                  #绘图函数y=x^4
plt.legend(['y=x^2','y=x^4'])       #指定当前图形的图例,可指定图例大小、位置、标签

#第二幅子图
ax2=p1.add_subplot(2,2,2)           #开始绘制第二幅
plt.title('sin\cos')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,np.pi*2))
plt.ylim((-1,1))
plt.xticks([0,np.pi/2,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(x1,np.sin(x1))
plt.plot(x1,np.cos(x1))
plt.legend(['sin','cos'])
plt.show()

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: