绘图基础语法与常用参数
pyplot基础语法
- pyplot基本绘图流程分为三个步骤:1.创建画布与创建子图;2.添加画布内容;3.保存与显示图形。第二部分包括添加标题,添加x轴名称,修改x轴刻度与范围,添加y轴名称,修改y轴刻度与范围
创建画布与创建子图常见函数
函数名称 |
函数作用 |
plt.figure |
创建一个空白画布,可以指定画布大小、像素 |
figure.add_subplot |
创建并选中子图,可以指定子图的行数、列数和选中图片的编号 |
添加画布内容常用函数
函数名称 |
函数作用 |
plt.title |
在当前图形中添加标题,可以指定标题的名称、位置、颜色、字体大小等参数 |
plt.xlabel |
在当前图形中添加x轴名称,可以指定位置、颜色、字体大小等参数 |
plt.ylabel |
在当前图形中添加y轴名称,可以指定位置、颜色、字体大小等参数 |
plt.xlim |
指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识 |
plt.ylim |
指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识 |
plt.xticks |
指定x轴刻度的数目与取值 |
plt.yticks |
指定y轴刻度的数目与取值 |
plt.legend |
指定当前图形的图例,可以指定图例的大小、位置、标签 |
保存与显示图形常用函数
函数名称 |
函数作用 |
plt.savefig |
保存绘制的图形,可以指定图形的分辨率、边缘的颜色等参数g |
plt.show |
在本机显示图形 |
import numpy as np
import matplotlib.pyplot as plt
data=np.arange(0,1.1,0.01)
plt.title('lines')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(data,data**2)
plt.plot(data,data**4)
plt.legend(['y=x^2','y=x^4'])
plt.savefig('./y=x^2.png')
plt.show()

rad=np.arange(0,np.pi*2,0.01)
p1=plt.figure(figsize=(8,6),dpi=80)
ax1=p1.add_subplot(2,1,1)
plt.title('lines')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(rad,rad**2)
plt.plot(rad,rad**4)
plt.legend(['y=x^2','y=x^4'])
ax2=p1.add_subplot(2,1,2)
plt.title('sin/cos')
plt.xlabel('rad')
plt.ylabel('value')
plt.xlim((0,np.pi*2))
plt.ylim((-1,1))
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(rad,np.sin(rad))
plt.plot(rad,np.cos(rad))
plt.legend(['sin','cos'])
plt.savefig('./sincos.png')
plt.show()

设置pyplot动态rc参数
- pyplot使用rc配置文件来自定义图形中的各种默认属性
线条常用的rc参数
rc参数名称 |
解释 |
取值 |
lines.linewidth |
线条宽度 |
取0~10之间的数值,默认为1.5 |
lines.linestyle |
线条样式 |
可取“-” “–” “-.” “:” 四种。默认为“-” |
lines.marker |
线条上点的形状 |
可取“o” “D” “h” “.” “,” “S”等20种默认为None |
lines.markersize |
点的大小 |
取0~10之间的数值,默认为1 |
lines.linestyle参数取值及意义
lines.linestyle取值 |
意义 |
lines.linestyle取值 |
意义 |
‘-’ |
实线 |
‘-.’ |
点线 |
‘–’ |
长虚线 |
‘:’ |
短虚线 |
lines.marker参数取值及意义
lines.marker取值 |
意义 |
lines.marker取值 |
意义 |
‘o’ |
圆圈 |
‘.’ |
点 |
‘D’ |
菱形 |
‘s’ |
正方形 |
‘h’ |
六边形1 |
‘*’ |
星号 |
‘H’ |
六边形2 |
‘d’ |
小菱形 |
‘-’ |
水平线 |
‘v’ |
一角朝下的三角形 |
‘8’ |
八边形 |
‘<’ |
一角朝左的三角形 |
‘p’ |
五边形 |
‘>’ |
一角朝右的三角形 |
‘,’ |
像素 |
‘^’ |
一角朝上的三角形 |
‘+’ |
加号 |
‘’ |
竖线 |
‘None’ |
无 |
‘x’ |
X |
x = np.linspace(0,4*np.pi)
y = np.sin(x)
plt.plot(x,y,label="$sin(s)$")
plt.title('sin')
plt.savefig('./默认sin曲线.png')
plt.show()
plt.rcParams['lines.linestyle'] = '-.'
plt.rcParams['lines.linewidth'] = 3
plt.plot(x,y,label="$sin(x)$")
plt.title('sin')
plt.savefig('./修改rc参数后sin曲线.png')
plt.show()

plt.plot(x,y,label="$sin(x)$")
plt.title('sin曲线')
plt.savefig('./无法显示中文标题的sin曲线.png')
plt.show()

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x,y,label="$sin(x)$")
plt.title('sin曲线')
plt.savefig('./显示中文标题的sin曲线.png')
plt.show()