Matplotlib使用教程
Posted feilstar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib使用教程相关的知识,希望对你有一定的参考价值。
1.Matplotlib简介
Matplotlib是一个Python绘图库,可以非常方便的绘制出以下图形:
- 折线图
- 散点图
- 条形图
- 直方图
- 以及等高线图、3D图形,甚至是图形动画等。
2.安装
2.1 方式一
在命令窗口执行以下命令:
pip install matplotlib
2.2 方式二
到官网去下载对应的安装包,然后在命令窗口执行以下命令:
cd download # download为下载目录
pip install xxx.whl # xxx.whl为安装包名
注:Windows环境需要确保安装有Visual Studio。
3.基础使用
3.1 基本用法
- 导包
from matplotlib import pyplot as plt
- 配置x轴、y轴数据
x = [1, 2, 3]
y = [2, 4, 6]
- 绘制
plt.plot(x, y)
- 展示
plt.show()
- 保存
plt.savefig("./sig_size.png")
参数为图片保存地址。
- 效果图
3.2 设置图片和线条格式
注:所有设置都需要放在图片绘制前
- 设置图片
fig = plt.figure(figsize=(20, 8), dpi=80)
figsize设置的是图片的长和宽,单位为英寸;dpi为每英寸长度内像素点数;上面的设置生成的图片大小为1600x640(像素)。
- 设置线条格式
plt.plot(x, y, color="red", linestyle="-.", linewidth=5, alpha=0.4)
color设置的是线条颜色,linestyle设置的是线条样式,linewidth设置的是线条宽度,alpha设置的是线条的透明度。
- 效果图
3.3 设置坐标轴
- 设置中文支持
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:WindowsFontsmsyh.ttf")
fname对应的是系统中文字体位置(其他类型字体没试过,自行尝试)。
- 设置坐标轴刻度
plt.xticks(x, x_ticks_labels, rotation=0, fontproperties=my_font)
plt.yticks(y, y_ticks_labels, rotation=45, fontproperties=my_font)
x,y为数字类型数组,x_ticks_labels、y_ticks_labels为字符串类型数组,一般是对应数据的说明;rotation设置的是标签的旋转度;fontproperties设置的是字体。
- 设置坐标轴描述信息
plt.xlabel("产品", fontproperties=my_font)
plt.ylabel("销量", fontproperties=my_font)
- 设置坐标轴边框
ax = plt.gca()
ax.spines[‘right‘].set_color(‘none‘)
ax.spines[‘top‘].set_color(‘none‘)
- 设置x轴标签和坐标轴位置
ax.xaxis.set_ticks_position(‘bottom‘)
ax.yaxis.set_ticks_position(‘left‘)
ax.spines[‘left‘].set_position((‘data‘, 0))
ax.spines[‘bottom‘].set_position((‘data‘, 0))
第一行代码是调整x轴标签位置,后两行代码调整的是坐标轴的位置(此项设置必须放在设置坐标轴刻度之前,否则刻度为中文时会显示为乱码)。
+效果图
3.4 添加图例
plt.plot(x, y, color="red", linestyle="-.", linewidth=5, alpha=0.4, label="产品销量")
plt.legend(prop=my_font, loc=("upper left"))
绘制时添加label标签,loc设置的是图例显示的位置
效果图:
3.5 添加标注
- annotate注释
plt.annotate(r‘这里是对(第一个点的标注)‘, xy=(x[0], y[0]), xycoords=‘data‘, xytext=(+30, -30),
textcoords=‘offset points‘, arrowprops=dict(arrowstyle=‘->‘, connectionstyle="arc3,rad=.2"),
fontproperties=my_font)
第一个参数是注释内容,第二个参数是需要注释的坐标点信息,第三个参数是坐标点是基于什么选择,第四个和第五个参数是注释位置设置及相对坐标点的偏移,第六个参数设置的是箭头的信息。
- text注释
plt.text(-3.7, 3, r‘这里是普通文本注释‘, fontdict={‘size‘: 16, ‘color‘: ‘r‘}, fontproperties=my_font)
第一个和第二个参数是设置文本的位置,第三个参数设置的是注释内容,第四个参数设置的是文本的样式。
- 效果图
- 绘制网格
plt.grid(alpha=0.4)
参数设置的是网格的透明度。
4.其他类型画图
plot绘制的是折线图,其他类型与之大同小异,只是关键字不同。
- 散点图
关键字是scatter,即绘制图形时,将plot替换成scatter。
- 条形图
关键字是bar(纵向)以及barh横向。
绘制横向条形图时xy的数据需要调换,而且为了美观,一般是y的值过大,导致图片过高时,才需要使用。 - 直方图
关键字是hist。因为是统计区间内的出现的次数,所以y轴不能为负(不会显示)。
以上是关于Matplotlib使用教程的主要内容,如果未能解决你的问题,请参考以下文章