学习网站:Matplotlib中文
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本文整理了一些常用的语法。
图形样式 | |
---|---|
plt.scatter() | 散点图 |
plt.hist() | 直方图 |
plt.plot() | 折线图,但通过调整步长可以实现曲线 |
plt.bar() | 柱形图 |
plt.barh() | 条形图 |
plt.pie() | 饼图 |
plt.boxplot() | 箱图 |
plt.fill() | 填充多边形 |
plt.arrow(x, y, dx, dy, kwargs)
plt.gca().add_patch()
# Circle
shape = patches.Circle((0, 0), radius = 1., color = '.75')
plt.gca().add_patch(shape)
# Rectangle
shape = patches.Rectangle((2.5, -.5), 2., 1., color = '.75')
plt.gca().add_patch(shape)
参考网站
plt.gca().add_patch(plt.Rectangle((x[i],y[i]),width,height,angle=angle,facecolor='skyblue'))
【问题记录】
绘制的矩形在运行过程中会出现形变成平行四边形的情况,原因在于轴比例的设定问题,通过将横轴和纵轴的比例设定成一比一即可以解决该问题。
plt.annotate('t',xy=(1,2),xytext=(3,4),arrowprops=dict())
plt.annotate(s='New point 2',xy=(1,2),xytext=(-1.5,2.5),color='red',arrowprops=dict(arrowstyle='-|>',connectionstyle='arc3',color='red'))
xycoords 参数如下:
weight 设置字体线型
{‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’}
color 设置字体颜色
arrowprops:箭头参数,参数类型为字典dict
bbox给标题增加外框 ,常用参数如下:
方法一:
plt.xlim(xmin,xmax)
plt.ylim(ymin,ymax)
仅能设定坐标轴的刻度范围
方法二:
plt.xticks()
plt.yticks()
既可以设置范围,又可以设置每个刻度之间的间距;还可以设置标签以及标签的旋转角度
延伸
plt.xticks(range(xmin,xmax,step))
plt.tick_params(axis='x',size=50,labelsize=20)
plt.grid(which='major')
# 或
plt.grid(True) //添加背景网格
plt.xscale('log')
绘制子图
fig=plt.figure() //创建绘图框并返回绘图框对象
ax=fig.add_subplot(121) //对创建好的绘图框对象添加1×2的子图矩阵并返回第一个子图对象
fig, ax=plt.subplots(1,2) //创建1×2的子图矩阵并同时返回绘图框和两个子图对象,其效果等于前两者之和。
ax.plot(),ax.bar()……//向子图中添加图形,其余样式同理
az.set_title(),ax.set_xlabel(),……//对子图添加标题、标签等
plt.gca() //返回当前绘图框中的子图对象
plt.gcf() //返回当前绘图框对象
ax.invert_xaxis() //反序x轴,y轴同理
ax.xaxis.tick_top() //将x轴主刻度标签移动到上方,y轴同理
ax.tick_params() //设置坐标轴刻度
ax.set_frame_on(False) //关闭子图边框
ax.set_axis_off() //关闭子图所有坐标轴
开启交互:plt.ion()
关闭交互:plt.ioff()
from mpl_toolkits.mplot3d import Axes3D fig=plt.figure() ax=Axes3D(fig) //创建3D子图对象
调整x,y轴等比例:ax.set_aspect(1.0)
figure.canvas.draw()//用于重新绘制整张图表
plt.rcParams
matplotlib 是为 python 提供强大绘图功能的第三方库,它的配置文件即 .rc 文件,为 matplotlib 输出图形的几乎所有属性指定了永久的默认值。(图形属性包括包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等)在代码执行过程中,有两种方式可以更改运行参数,从而达到修改 matplotlib 输出图形属性的目的。
import matplotlib as mpl
mpl.rcParams['lines.color'] = 'blue'
import matplotliib as mpl\mpl.rc('lines', color='blue')
plt.rcParams['font.sans-serif'] = 'SimHei'
使图形中的中文正常编码显示plt.rcParams['axes.unicode_minus'] = False
使坐标轴刻度表签正常显示正负号