Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python、numpy、pandas基本数据结构,运营高效且有较丰富的图表库
1、图标的基本参数设置
df = pd.DataFrame(np.random.rand(10,2),columns=['A','B'])
fig = df.plot(figsize=(6,4))
# figsize:创建图表窗口,设置窗口大小
# 创建图表对象,并赋值与fig
plt.title('Interesting Graph - Check it out') # 图名
plt.xlabel('Plot Number') # x轴标签
plt.ylabel('Important var') # y轴标签
plt.legend(loc = 'upper right')
# 显示图例,loc表示位置
# 'best' : 0, (only implemented for axes legends)(自适应方式)
# 'upper right' : 1,
# 'upper left' : 2,
# 'lower left' : 3,
# 'lower right' : 4,
# 'right' : 5,
# 'center left' : 6,
# 'center right' : 7,
# 'lower center' : 8,
# 'upper center' : 9,
# 'center' : 10,
plt.xlim([0,12]) # x轴边界
plt.ylim([0,1.5]) # y轴边界
plt.xticks(range(10)) # 设置x刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1.0,1.2]) # 设置y刻度
fig.set_xticklabels("%.1f" %i for i in range(10)) # x轴刻度标签
fig.set_yticklabels("%.2f" %i for i in [0,0.2,0.4,0.6,0.8,1.0,1.2]) # y轴刻度标签
# 范围只限定图表的长度,刻度则是决定显示的标尺 → 这里x轴范围是0-12,但刻度只是0-9,刻度标签使得其显示1位小数
# 轴标签则是显示刻度的标签
print(fig,type(fig))
# 查看表格本身的显示方式,以及类别
2、网格显示,线型,颜色
x = np.linspace(-np.pi,np.pi,256,endpoint = True)
c, s = np.cos(x), np.sin(x)
plt.plot(x, c)
plt.plot(x, s)
# 通过ndarry创建图表
plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'x')
# 显示网格
# linestyle:线型
# color:颜色
# linewidth:宽度
# axis:x,y,both,显示x/y/两者的格网
plt.tick_params(bottom='on',top='off',left='on',right='off')
# 刻度显示
import matplotlib
matplotlib.rcParams['xtick.direction'] = 'out'
matplotlib.rcParams['ytick.direction'] = 'inout'
# 设置刻度的方向,in,out,inout
# 这里需要导入matploltib,而不仅仅导入matplotlib.pyplot
frame = plt.gca()
#plt.axis('off')
# 关闭坐标轴
#frame.axes.get_xaxis().set_visible(False)
#frame.axes.get_yaxis().set_visible(False)
# x/y 轴不可见
3、 图表的样式参数
plt.plot([i**2 for i in range(100)],
linestyle = '-.')
# '-' solid line style
# '--' dashed line style
# '-.' dash-dot line style
# ':' dotted line style