matplotlib常用函数总结
matplotlib是python数据可视化的基础包。当前能搜到的博客所列举的内容都太少,很难满足定制化需求
官方文档:https://matplotlib.org/stable/api/pyplot_summary.html
首先调用接口
import matplotlib pyplot as plt
下面除了直接绘制图表的函数以外每一个函数都是可选的,如果不需要定制该部分内容,可以不写。
首先整个图就是一个figure对象
pyplot.figure(figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, clear=False)
- figsize-尺寸,即宽和高(英寸)。默认:
[6.4, 4.8]
- dpi-以每英寸点数为单位的图形分辨率。 默认:
100
- facecolor-背景颜色。默认:
'white'
- edgecolor-边框颜色。默认:
'white'
- frameon-如果为 False,则禁止绘制图框。 默认值:True
- clear-如果为 True 并且该图形已经存在,则将其清除。 默认值:False
然后设置标题
plt.title(label, fontdict=None, loc=None, pad=None)
- lable-标题,给一个字符串
- loc-标题位置,三个取值{'center', 'left', 'right'}
- y-标题在竖直方向上的位置(按比例,1.0 表示顶部)。 如果 无(默认),自动确定y以避免 轴上的装饰器。
- pad-标题与轴顶部的偏移量,以磅为单位。 默认:
6.0。
设置X轴和Y轴的标题
plt.xlabel(xlabel, fontdict = None , labelpad = None , loc = None )
- xlabel-X轴标题
- fontdict-字体
- labelpad-轴边界框的点间距,包括刻度 和刻度标签。
- loc-该标题的位置,{'left', 'center', 'right'}
设置坐标轴的范围,也就是每个轴上的最大最小值。
1 # 使用axis() 2 plt.axis([xmin,xmax,ymin,ymax]) 3 # 或者xlim()/ylim() 4 plt.xlim(left,right)
设置坐标轴的刻度
1 # 在刻度为0,1,2的位置显示标签'January', 'February', 'March',并把标签旋转20° 2 plt.xticks([0, 1, 2], ['January', 'February', 'March'], rotation=20) # Set text labels and properties.
设置坐标轴方向上的网格线
1 plt.grid(visible=None, which='major', axis='both', color='r', linestyle='-', linewidth=2)
- visible-网格线是否可见,布尔型。
- which-主次网格线。{'major', 'minor', 'both'}
- axis-X或Y方向上。{'both', 'x', 'y'}
- color-颜色
- linestyle-风格
- linewidth-宽度
- alpha-透明度
图例
https://zhuanlan.zhihu.com/p/111108841
常见图表类型的绘图函数
折线图
1 plt.plot(x, y)
- color-折线眼色
- linestyle-线条类型
- linewidth-线条宽度
- marker-标记类型
- markeredgecolor-标记边框颜色
- markeredgewidth-标记边框宽度
- markerfacecolor-标记填充颜色
- markersize-标记大小
- lable-线条标签
散点图
1 plt.scatter(x, y)
- s-散点大小
- c-散点眼色
- label-标签
- marker-散点类型
- linewidths-散点边框宽度
- edgecolors-散点边框眼色
柱形图
1 plt.bar(x, height)
- width-柱形宽度
- align-柱形位置
- color-填充眼色
- edgecolor-边框颜色
- linewidth-边框宽度
条形图
1 plt.barh(x, height
- 参数同柱形图↑
其他图
# 面积图 plt.fill_between(x, y1, y2) # 饼图 plt.pie(x) # 统计直方图 plt.hist(x) # 箱型图 plt.boxplot(x) # 误差棒 plt.errorbar(x, y)