以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进行打赏!
本站文章如非特别说明,均为原创。未经本人同意,请勿转载!转载请务必注明出处!
真好,厉害!