Python Matplotlib简要使用


文章目录


主要含义

​mat​​​ --> ​​matrix​​ 矩阵

​plot​​ --> 画图

​lib​​​ --> ​​library​​ 库

例如:

​matlab​​ 矩阵实验室

js库推荐


  1. D3
  2. echarts

matplotlib的三层结构














三层结构


容器层


画板层


画布层


绘图层


辅助显示层


图像层


折线图绘制

import matplotlib.pyplot as plt

  1. 创画布:​​plt.figure()​​​或​​plt.figure(figsize=(20,8) ,dpi=100 )​
  2. 绘图:​​plt.plot([1,2,3,4],[6,7,8,9])​
  3. 图片保存:​​plt.savefig(path)​
  4. 显示图:​​plt.show()​

x,y刻度

plt.xticks(x,**kwargs)
plt.xticks(range(40))
plt.yticks(y,**kwargs)
plt.yticks(range(30))

中文解决

下载SimHei字体

安装字体

linux下:

sudo cp ~/SimHei.ttf /usr/share/fonts/SimHei.ttf

删除​​matplotlib​​缓存

cd ~/.cache/matplotlib
rm -r *

修改配置文件

sudo find -name matplotlibrc

打开找到的配置文件

font.family   sans-serif
font.sans-serif SimHei
axes.unicode_minus False

添加网格显示

plt.grid(True, linestyle='--',alpha=0.5)
#是否添加网格
#虚线风格
#透明度

标题

#x轴
plt.xlabel("时间")
#y轴
plt.ylabel("温度")
#标题
plt.title("温度变化图示")

显示图例

plt.legend()

多个绘图区

plt.subplots(nrows=1,ncols=1,**fig_kw)
#行
#列 默认一行一列
# 返回figure和axes
axes.set_xticks()一般对应plt.xticks()

具体可查询

​https://matplotlib.org/api/axes_api.html​

散点图

plt.scatter()

柱状图

plt.bar(x,width,align='center',**kwargs)
#刻度
#宽度
#对齐方式
#颜色等

直方图

plt.hist(x,bins=None,normed=None,**kwargs)
#数据
#组数 = 最大-最小//距离
#是否显示频率

饼图

plt.pie(x,labels=,autopct=,colors)
#数据
#每部分名称
#占比显示
#每部分颜色
plt.axis('equal')
#正圆