Matplotlib基本用法(中)样式和标签

Artist样式

Matplotlib库很多绘制方法都可以样式设置,比如设置颜色,线的宽度,线的风格等

data1, data2, data3, data4 = np.random.randn(4, 100)  # make 4 random data setsfig, ax = plt.subplots(figsize=(10, 5.4))x = np.arange(len(data1))ax.plot(x, np.cumsum(data1), color='blue', linewidth=3, linestyle='--')l, = ax.plot(x, np.cumsum(data2), color='orange', linewidth=2)l.set_linestyle(':')plt.show()

绘制两个线条,并设置线条样式

线条样式

Matplotlib有个很灵活的颜色集,绝大部分Artist都可以设置颜色,有的还可以设置多个颜色

fig, ax = plt.subplots(figsize=(10, 5.4))ax.scatter(data1, data2, s=50, facecolor='C0', edgecolor='k')plt.show()

scatter()函数的边缘和里面是两个颜色

颜色

线的宽度通常都是1像素,点的大小取决于使用的函数

fig, ax = plt.subplots(figsize=(10, 5.4))ax.plot(data1, 'o', label='data1')ax.plot(data2, 'd', label='data2')ax.plot(data3, 'v', label='data3')ax.plot(data4, 's', label='data4')ax.legend()plt.show()

通过字母指定点的不同样式

标签绘制

之前是通过set_xlable(), set_ylable(), set_title()的方式将标签加到想要的位置的,标签也可以通过text()函数添加

mu, sigma = 115, 15x = mu + sigma * np.random.randn(10000)fig, ax = plt.subplots(figsize=(10, 5.4), layout='constrained')# the histogram of the datan, bins, patches = ax.hist(x, 50, density=1, facecolor='C0', alpha=0.75)ax.set_xlabel('Length [cm]')ax.set_ylabel('Probability')ax.set_title('Aardvark lengths
 (not really)')ax.text(75, .025, r'$\mu=115,\ \sigma=15#39;)ax.axis([55, 175, 0, 0.03])ax.grid(True)plt.show()

所有的text相关函数返回matplotlib.text.Text实例,Matplotlib也接收TeX表达式,上文中r可以让python不再将\视作转义字符。

添加文本

可以在图形中添加标注

fig, ax = plt.subplots(figsize=(10, 5.4))t = np.arange(0.0, 5.0, 0.01)s = np.cos(2 * np.pi * t)line, = ax.plot(t, s, lw=2)ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5),            arrowprops=dict(facecolor='black', shrink=0.05))ax.set_ylim(-2, 2)plt.show()

xy和xytext都在坐标系中,也可以选择其它的坐标系

标注

通过Axes.legend()方法来识别线条或标记

fig, ax = plt.subplots(figsize=(10, 5.4))ax.plot(np.arange(len(data1)), data1, label='data1')ax.plot(np.arange(len(data2)), data2, label='data2')ax.plot(np.arange(len(data3)), data3, 'd', label='data3')ax.legend()plt.show()

在后续教程在学习legend()方法的使用

legend

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章