以 API 封装的 pyplot 绘图命令
对于之前学过 MATLAB 的人来说,matplotlib 的 pylab 方式,其操作基本上与 MATLAB 一致。Python 是一个完全的面向对象的语言,一切都是对象。对于 Matplotlib 的绘图来看,最为上手的就是利用 API 的形式,采用函数式绘图,容易掌握,虽然很难做到创造任何的图。
这里主要以例子为主,加强记忆即可。
单一的图
- import numpy as np
- import matplotlib.pyplot as plt
-
- # 绘制一个正弦函数、余弦函数的图像
- # 产生x向量
- x = np.linspace(0, 2 * np.pi, 50) # 50 elements
- y1 = np.sin(x)
- y2 = np.cos(x)
- # visualization
- plt.figure() # 产生一个figure对象,可以设置图的大小
- plt.plot(x, y1, marker='o',
- color='tab:red', markeredgecolor='k',
- linestyle='-', linewidth=2)
- plt.plot(x, y2, marker='>', markeredgecolor='tab:blue',
- color='tab:green',linestyle='-.',
- linewidth=2)
- label=['$\sin(x)$', '$\cos(x)$']
- plt.xlabel('x')
- plt.ylabel('y')
- plt.title('function image')
- plt.legend(label, loc='best')
- plt.grid(True)
- plt.savefig('function image.png', dpi=600)
- plt.show()
matplotlib 中还支持主题的调用,上图未进行主题风格的设置,默认为 default,还有 ggplot 和 seaborn 等,效果如下:
多子图绘图
在一个图中绘制多个子图,主要利用 subplot () 命令
- x = np.linspace(0, 2 * np.pi, 50) # 50 elements
- y1 = np.sin(x)
- y2 = np.cos(x)
-
- plt.style.use('ggplot')
- plt.subplot(2,2,1)
- plt.plot(x, y1, label='$\sin(x)$')
- plt.title('$\sin(x)$')
- plt.xlabel('x')
- plt.ylabel('y')
- plt.legend(loc='best')
-
- plt.subplot(2,2,2)
- plt.plot(x, y2, label='$\cos(x)$', color='tab:olive')
- plt.title('$\cos(x)$')
- plt.xlabel('x')
- plt.ylabel('y')
- plt.legend(loc='best')
-
- plt.subplot(223)
- plt.scatter(x, y1, marker='o',label='$\sin(x)$', color='tab:cyan')
- plt.title('$\sin(x)$ points')
- plt.xlabel('x')
- plt.ylabel('$\sin(x)$')
- plt.legend(loc='best')
-
- plt.subplot(224)
- plt.scatter(x, y2, marker='o',label='$\cos(x)$', color='tab:green')
- plt.title('$\cos(x)$ points')
- plt.xlabel('x')
- plt.ylabel('$\cos(x)$')
- plt.legend(loc='best')
-
- plt.savefig('mult.png', dpi=600)
- plt.show()
如果你觉得这些对你还有些收获!当然可以打赏我。
请点击右下方 Tip 进行打赏!
本站文章如非特别说明,均为原创。未经本人同意,请勿转载!转载请务必注明出处!
真好,厉害!