子画布
使用plt.grid方法可以开始网格线,使用plt面向对象的方法,创建多个子图显示不同网格线
- lw代表linewidth 线的粗细
- alpha 表示线的透明度
- color 表示颜色
- axis 显示轴向
plt.grid(axis='y')
axes = plt.subplot(111)
axes.grid(axis='both')
plt.figure(figsize=(10,5))
ax1 = plt.subplot(2,2,1)
ax1.grid(axis='y')
ax2 = plt.subplot(2,2,2)
# html颜色 red blue green gray black white purple pink orange yellow
# RGB元组 (0.3, 0.6, 0.7) np.random.random(size=(N, 3)) 生成n个颜色
# 十六进制颜色 "#00aaff"
# 颜色缩写 r b g k
ax2.grid(color=np.random.random(size=3))
ax3 = plt.subplot(2,2,3)
# ax3.grid(linewidth=3)
ax3.grid(lw=5)
ax4 = plt.subplot(2,2,4)
ax4.grid(alpha=0.3)
colors = np.random.random(size=(3,3))
plt.figure( facecolor=colors[0])
plt.subplot(facecolor=colors[1])
plt.grid(color=colors[2])
坐标轴界限
plt.axis('xxx') 'tight'、'off'、'equal'……
设置坐标轴类型
关闭坐标轴
xlim方法和ylim方法
除了plt.axis方法,还可以通过xlim,ylim方法设置坐标轴范围
X、Y轴坐标刻度
plt.xticks()和plt.yticks()方法
需指定刻度值和刻度名称 plt.xticks([刻度列表],[名称列表])
支持fontsize、rotation、color等参数设置
例子:
plt.figure(figsize=(10,5))
plt.subplot(facecolor=np.random.random(size=3))
plt.plot(x, np.sin(x))
plt.grid()
plt.xticks([0,np.pi, 2*np.pi], ["0","Πabdfef", "2Π"], fontsize=20, color=np.random.random(size=3), rotation=90)
plt.yticks([1,0,-1], ["max","0","min"])
plt.show()
面向对象风格
# 面向对象风格
ax = plt.subplot(111, facecolor=np.random.random(size=3))
ax.grid(color=np.random.random(size=3))
# 调整刻度边界
ax.axis([-1,1,-2,2])
# 分别设置x\y轴刻度边界
# ax.set_xlim()
# ax.set_ylim()
# 调整刻度及标签
ax.set_xticks([-1,0,1])
ax.set_xticklabels(["left","middle","right"], fontsize=20)
ax.set_yticks([2,0,-2])
ax.set_yticklabels(["max","middle","min"], fontsize=20, rotation=90)
例子:
plt.figure(figsize=(10,4))
plt.plot(x, np.sin(x))
调整y\x轴的刻度边界
plt.ylim([-1., 2.])
plt.xlim([0., np.pi])
axes 表示的画布
axis 表示的是轴
也可以使用axis
plt.axis([xmin,xmax,ymin,ymax])
plt.axis([-2.,3., 1/2., 1.])
f = lambda x:(1-x**2)**0.5
x = np.linspace(-1,1, 100)
plt.plot(x, f(x))
plt.plot(x, -f(x))
# off
# scaled equal image tight auto
plt.axis('scaled')
# 关闭轴标签
plt.axis('off')
plt.show()
坐标轴标签
xlabel方法和ylabel方法
plt.ylabel(‘y = x^2 + 5’,rotation = 60)旋转
color 标签颜色
fontsize 字体大小
rotation 旋转角度
例子:
plt.plot(x, f(x), x, -f(x))
plt.axis('equal')
# 关于字体的设置,大部分函数都支持fontdict属性字典对字体进行设置
plt.xlabel("X-label", color=np.random.random(size=3), fontsize=16, rotation=45,)
plt.ylabel("Y-label", color=np.random.random(size=3), fontdict={
"fontsize":30,
"rotation":45
})
plt.show()
例子2:
ax = plt.subplot()
ax.grid()
ax.plot(x, f(x), x, -f(x))
ax.axis('equal')
ax.set_xlabel("X-Label", fontdict={
"fontsize":30,
"color":np.random.random(size=3)
})
ax.set_ylabel("Y-Label", fontsize=20, rotation=45, color=np.random.random(size=3))
plt.show()
画布标题
plt.title()方法
loc {left,center,right}
color 标签颜色
fontsize 字体大小
rotation 旋转角度
例子:
plt.title("AXES TITLE", fontdict={
"fontsize":40,
"color":np.random.random(size=3),
"verticalalignment": 'baseline',
'horizontalalignment': "center",
})
plt.title("AXES TITLE", loc="right", fontsize=40)
总结:
# 获取画板
figure = plt.figure(figsize, facecolor)
# 获取画布
ax = figure.add_subplot(loc, facecolor)
plt.subplot(loc)
# 添加网格
plt.grid(axis, color, linwidth, alpha, linestyle)
ax.grid()
# 坐标轴界限
plt.xlim([xmin, xmax])
plt.ylim([ymin, ymax])
plt.axis([xmin, xmax, ymin, ymax])
plt.axis('off\equal\scaled\image')
# 轴刻度、刻度标签
plt.xticks([t1, t2...], [label1,label2...])
plt.yticks()
ax.set_xticks([t1, t2...])
ax.set_xticklabels([label1, label2...], fontsize, color, rotation, fontdict)
ax.set_yticks()
ax.set_yticklabels()
# 坐标轴标签
plt.xlabel(s, fontsize, color, rotation, fontdict)
plt.ylabel()
ax.set_xlabel()
ax.set_ylabel()
# 画布标题
plt.title(s, fontsize, color, rotation, fontdict)
ax.set_title(s, fontsize, color, rotation, fontdict)
# 颜色
html颜色
十六进制颜色
RGB元组
html颜色缩写