matplotlib笔记
程序员文章站
2022-03-01 21:39:39
...
绘图基础
matplotlib相应模块(package, module) 的导入
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
基础线图plt.plot()
X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)
plt.plot(X, Y)
线的设置
简单设置颜色与线型
plt.plot(X, Y, 'r') #线是红的
plt.plot(X, Y, 'r--') #线是红的、虚线
plt.plot(X, Y, 'r:') #线是红的、点虚线
plt.plot(X, Y, 'r-.') #线是红的、线点虚线
plt.plot(X, Y, color = 'lime', linestyle = '-.', linewidth = 2) #复杂颜色和线型
点的设置
设置点型
代码换行(\+回车)
plt.plot(X, Y, color='lime', linestyle='-.', \
linewidth=2, marker='v', markerfacecolor='black', \
markeredgecolor='red', markersize=3, markeredgewidth=1)\
#设置点外边的形状、中心颜色、边界颜色、点的大小、边的粗细
绘制散点图 方法一
plt.scatter(X, Y)
绘制散点图 方法二
plt.plot(X, Y, color='lime', linestyle='', \
linewidth=2, marker='v', markerfacecolor='black', \
markeredgecolor='red', markersize=3, markeredgewidth=1)\
#把linestyle设置成空
字的设置
#获取坐标轴
ax1 = plt.gca()
#设置标题(包括字体,字体大小,粗细,斜体)
ax1.set_title('Big title', fontname='Arial', fontsize=20\
weight='bold', style='italic')
#设置x,y轴标签
ax1.set_xlabel('time(UTC)')
#使用LaTeX语法
ax1.set_ylabel('T($^o$C)')#$/mu$是μ,$^o$是摄氏度小圈
刻度的设置
设置刻度的位置
ax1.set_xticks([0, 2.5, 7, 11])
设置刻度的标签
ax1.set_xticklabels(['J', 'A', 'N', 'F'])
设置刻度的方向、颜色、大小
ax1.tick_params(axis='both', direction='in', color='blue', \
length=10, width=2)
多线条的设置
多条线的绘制
关闭冗余的文字输出信息
将以上plot对象赋值给一个变量
添加图例、设置位置
plt.plot(X, Y, label='Normal')
plt.plot(X+2, Y, label='Strange')
plt.legend(loc='best')#设置图例位置,best、lower left、upper right
设置图层顺序
通过zorder来设置,数值越大,越靠外
plt.plot(X, Y, color='lime', linestyle='', \
linewidth=2, marker='v', markerfacecolor='black', \
markeredgecolor='red', markersize=3, markeredgewidth=1, label='Normal', zorder=2)
坐标轴的设置
子图的设置subplot
fig, ax = plt.subplots(2, 1)
ax[1].plot(X, Y)
ax[0].plot(X+2, Y, 'r')
#坐标轴的范围
ax[0].set_xlim([0, 10])
ax[1].set_xlim([0, 10])
设置指数坐标轴
ax.set_yscale('log')
设置双坐标轴
ax2 = ax.twinx()
ax3 = ax2.twiny()
ax3.plot(X, Y, 'ro')
保存的设置
保存到png图片
plt.savefig('./Big Title.png')
防止图片部分缺失 方法一 增大画布
fig = plt.figure(figsize=(8,4))
防止图片部分缺失 方法二 紧致布局
plt.tight_layout()
设置保存分辨率
fig = plt.figure(figsize=(4,4), dpi=400)
上一篇: 【转】flex的问题解决