文章目录
前言
01.工具栏组件
02.图表数据
03.设置字体字典
全局字体样式
常用中文字体对应名称
查询当前系统所有字体
04.图像配置实例
配置格式
参数说明
官方文档:[matplotlib.figure](https://matplotlib.org/stable/api/figure_api.html#module-matplotlib.figure)
05.图表标题
配置格式
参数说明
官方文档:
06.文本组件
配置格式
参数说明
官方文档:
07.坐标轴标签组件
配置格式
参数配置
官方文档:
08.网格组件
配置格式
参数配置
官方文档:
09.绘制折线
配置格式
参数配置
fmt 参数用法
颜色(可用 color 参数代替):
点型(可用 marker 参数代替)
线型(可用 linestyle 参数代替):
官方文档:
10.图例组件
配置格式
参数配置
官方文档:
11.图表渲染
总结
前言
Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。
使用Matplotlib生成一个曲线的完整代码(其中部分代码是可以省略的,为了便于将相关属性快速有效的予以记录,本文尽量将相关属性都列了出来。)
# 导入库 import numpy as np import matplotlib.pyplot as plt # 设置中文显示 plt.rcParams['font.sans-serif'] = ['microsoft yahei'] #显示中文 # 01.工具栏组件 plt.rcParams['toolbar'] = 'toolbar2' # 设置工具栏 # 02.模拟数据 x = np.linspace(0.0, 5.0, 100) y = np.cos(2 * np.pi * x) * np.exp(-x) # 03.设置字体字典 font = {'family': 'microsoft yahei', 'color': '#000', 'weight': 'normal', 'size': 12} # 04.图像配置实例 plt.figure('漏刻有时数据可视化 - TestWin', facecolor='w') # 设置图形弹出窗口标题 # 05.图表标题 plt.title('漏刻有时折线图', fontdict=font, loc='center', y=1) # 图表标题 # 06.文本组件 plt.text(0.91, -0.31, r'智能化数据的转账点', fontdict=font, c='b', rotation=30) # 文本 # 07.坐标轴标签组件 plt.xlabel('时间:单位 (s)', fontdict=font) # x轴 plt.ylabel('数值:单位 (mv)', fontdict=font) # y轴 # 08.网格组件 plt.grid(which='major', axis='both', color='g', linestyle='-', linewidth=0.1) # 网格 # 09.绘制折线 plt.plot(x, y, 'r', label='直连线', marker='d') # 绘制折线 # 10.图例组件 plt.legend() # 设置图例 # 11.图表渲染 plt.show()
01.工具栏组件
''' 工具栏组件 # 注意,应当放置在图像实例化之前。 # None模式:禁用工具栏 # toolbar2模式:默认工具栏布局 # toolmanager模式:工具栏布局在首行 ''' plt.rcParams['toolbar'] = 'toolbar2' # 设置工具栏
toolmanager模式:
RcParams说明文档:RcParams
02.图表数据
折线图,一般是x轴和y轴数据,设置为对应的列表即可。本案例作为Matplotlib库的基础知识,只做简单的数据展示,不涉及更复杂的数据读取和计算。
如:
- numpy模拟数据
x = np.linspace(0.0, 5.0, 100) y = np.cos(2 * np.pi * x) * np.exp(-x)
- 自定义固定数据
x = [1, 2, 3, 4, 5] y = [i * 2 for i in x] #推导式
- random随机数据
x = [random.randint(0, 10) for i in range(10)] y = [i * 2for i in x]
- pandas读取本地excel表格数据
- pymysql读取数据库数据
03.设置字体字典
全局字体样式
Matplotlib如果未正常设置中文字体,会出现乱码。基于实际开发情况,图像标题、图表标题、图例和标签都涉及到中文字体的应用,因此采用使用 matplotlib 模块的 rcParams,全局字体样式:
plt.rcParams['font.sans-serif'] = ['microsoft yahei']`
当然,也可以具体在某些组件使用时,单独调用对应的属性,如:
plt.title('自定义标题名称', fontproperties='SimHei')
常用中文字体对应名称
查询当前系统所有字体
如果要实时查询当前系统的所有字体,可以使用matploylib自带的font_manager
属性进行遍历查询:
# 查询当前系统所有字体 from matplotlib.font_manager import FontManager sys_fonts = [f.name for f in FontManager().ttflist] for f in sorted(sys_fonts): print(f)
字体结果展示:
04.图像配置实例
配置格式
plt.figure() 函数可以用于创建绘图窗口,可以传入以下常用参数:
matplotlib.figure.Figure(figsize=None, dpi=None, *, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None, constrained_layout=None, layout=None, **kwargs)
如:
# 配置实例 plt.figure('漏刻有时数据可视化 - TestWin', facecolor='w') # 设置图形弹出窗口标题
参数说明
官方文档:matplotlib.figure
05.图表标题
配置格式
matplotlib.pyplot.title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)
参数说明
官方文档:matplotlib.pyplot.title
06.文本组件
配置格式
matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)
参数说明
官方文档:matplotlib.pyplot.text
07.坐标轴标签组件
配置格式
xlabel和ylabel的配置格式和参数一致。
matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)
参数配置
官方文档:
08.网格组件
配置格式
matplotlib.pyplot.grid(visible=None, which=‘major’, axis=‘both’, **kwargs)
参数配置
官方文档:
09.绘制折线
配置格式
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
参数配置
plot([x], y, [fmt], *, data=None, **kwargs) plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
fmt 参数用法
fmt 参数传入一个字符串,按颜色、点型、线型的顺序拼接而成。
颜色(可用 color 参数代替):
点型(可用 marker 参数代替)
线型(可用 linestyle 参数代替):
官方文档:
10.图例组件
配置格式
matplotlib.pyplot.legend(*args, **kwargs)
参数配置
legend() legend(handles, labels) legend(handles=handles) legend(labels)
官方文档:
11.图表渲染
显示所有的图形。
matplotlib.pyplot.show(*, block=None)
总结
Matplotlib的基础选项属性以官网为准https://matplotlib.org/stable/api/pyplot_summary.html,由于是英文缘故,在实际学习和开发过程中,需要尽量多实践多练习。