matplotlib画图的一个小例子
-
首先,要有数据,要么程序自己产生的,要么是测试出来的数据。
例如:x = [1,2,3,4,5]
y = [2,4,6,8,10]
X = np.linspace(1,5,100)
Y = func(X) -
其次,要有一个画布,plt.figure(),不过,下面的例子里没有用plt.figure()
plt.figure() -
第三步,开始画图plot,但是要画几个图呢?
fig, axs = plt.subplots(2,2) -
每个图都有轴axis,
axs[0].plot(X,Y)
axs[1].plot(X,Y) -
轴上有标签,有刻度
axs[0].set_xlabel(‘这是x轴’)
axs[0].set_xticks([1,2,3,4,5])
axs[0].set_xticklabels([‘x1’,‘x2’,‘x3’])
axs[0].tick_params(axis=‘both’, direction=‘in’) -
直接看例子吧:
# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
#要画的图形
X = np.linspace(-2,2,101)
Y = (np.sin(2*np.pi*X))/X
#画图
plt.plot(X, Y, label='sine(x)/x')
#图例,曲线表示什么,需要在.plot(label='legend')
plt.legend(loc='lower left')
#轴的设置,gca=get_current_axis
ax1=plt.gca()
#轴的标签
ax1.set_xlabel('Wavelength ($\mu$m)')
ax1.set_ylabel('Intensity' '(Arb. Units)', style='italic' )
#轴的刻度
ax1.set_xticks([-1.5, 0, +1.5])
ax1.set_xticklabels(['-x', 'zero', '+x'])
ax1.tick_params(axis='both',direction='in')
#秀出你的图
plt.show()
分割线 分割线 分割线