0
点赞
收藏
分享

微信扫一扫

python数据可视化开发:Matplotlib库基础知识


文章目录

  • ​​前言​​
  • ​​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.图表渲染​​
  • ​​总结​​

前言

python数据可视化开发:Matplotlib库基础知识_信息可视化

  • 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模式:

python数据可视化开发:Matplotlib库基础知识_字符串_02


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')

常用中文字体对应名称

中文名称

英文名称

宋体

SimSun

黑体

SimHei

微软雅黑

Microsoft YaHei

微软正黑体

Microsoft JhengHei

新宋体

NSimSun

新细明体

PMingLiU

细明体

MingLiU

标楷体

DFKai-SB

仿宋

FangSong

楷体

KaiTi

隶书

LiSu

幼圆

YouYuan

华文楷体

STKaiti

华文宋体

STSong

华文中宋

STZhongsong

华文仿宋

STFangsong

查询当前系统所有字体

如果要实时查询当前系统的所有字体,可以使用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)

字体结果展示:

python数据可视化开发:Matplotlib库基础知识_信息可视化_03

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') # 设置图形弹出窗口标题

python数据可视化开发:Matplotlib库基础知识_python_04

参数说明

参数

说明

num

传入整数或字符串。整数可以指定创建或激活对应编号窗口并保存至 number 属性,字符串可以设置该窗口标题

figsize

传入两个浮点数组成的元组,设置绘图窗口的宽和高

dpi

传入整数,设置分辨率

facecolor

传入代表颜色的字符串,设置背景色

edgecolor

传入代表颜色的字符串,设置边框颜色

clear

如果传入True,且当前窗口已经有绘图时,清空当前绘图

官方文档:matplotlib.figure

05.图表标题

配置格式

matplotlib.pyplot.title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)

参数说明

参数

说明

选项

label

文本内容

字符串

fontdict

字体格式

‘fontweight’: rcParams[‘axes.titleweight’], ‘color’: rcParams[‘axes.titlecolor’]

loc

位置

‘center’, ‘left’, ‘right’,默认:‘center’

y

Y轴位置

1.0为顶部

**kwargs

文本属性

官方文档:

​​matplotlib.pyplot.title​​

06.文本组件

配置格式

matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)

参数说明

参数

说明

x,y

放置文本的位置,默认情况下,是数据坐标

s

文本内容;

fontdict

覆盖默认文本属性的字典,如果为None,则默认值由rcParams确定

**kwargs

常见配置选项:color、fontfamily、fontsize、fontweight、rotation、transform等

官方文档:

​​matplotlib.pyplot.text​​

07.坐标轴标签组件

配置格式

xlabel和ylabel的配置格式和参数一致。

matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)

参数配置

参数

说明

ylabe

字符串,y-axis说明

labelpad

与轴边界框(包括记号和记号标签)的点间距。如果为“无”,则上一个值保持原样

loc

‘bottom’, ‘center’, ‘top’,默认’center’

**kwargs

文本属性控制标签的外观,可以参考Text属性

官方文档:

​​matplotlib.pyplot.ylabel​​

08.网格组件

配置格式

matplotlib.pyplot.grid(visible=None, which=‘major’, axis=‘both’, **kwargs)

参数配置

参数

说明

visible

是否显示网格线,选项:bool or None

which

要更改的网格线

axis

{‘both’, ‘x’, ‘y’}

**kwargs

文本属性控制标签的外观,可以参考Text属性

官方文档:

​​matplotlib.pyplot.grid​​

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)

参数

说明

x

传入序列、列表类型的对象,包含各个点的横坐标数值,默认为 0~len(y)-1

y

传入序列、列表类型的对象,包含各个点的纵坐标数值

fmt

传入一个字符串,代表所绘制线条的样式(按颜色、点型、线型顺序)1

data

关键字参数,传入一个具有索引功能的对象,此时 x、y 只需传入一个字符串来表示是该对象的这个索引

kwargs 中常用参数:

参数

说明

color

设置线条的颜色,可用十六进制的RGB字符串精确设置颜色

label

设置线条的标签

fmt 参数用法

fmt 参数传入一个字符串,按颜色、点型、线型的顺序拼接而成。

颜色(可用 color 参数代替):

字符串

含义

‘b’

blue 蓝色

‘g’

green 绿

‘r’

red 红

‘c’

cyan 蓝绿

‘m’

magenta 洋红

‘y’

yellow 黄

‘k’

black 黑

‘w’

white 白

点型(可用 marker 参数代替)

字符串

含义

‘.’

point marker

‘,’

pixel marker

‘o’

circle marker

‘v’

triangle_down marker

‘^’

triangle_up marker

‘<’

triangle_left marker

‘>’

triangle_right marker

‘1’

tri_down marker

‘2’

tri_up marker

‘3’

tri_left marker

‘4’

tri_right marker

‘s’

square marker

‘p’

pentagon marker

‘*’

star marker

‘h’

hexagon1 marker

‘H’

hexagon2 marker

‘+’

plus marker

‘x’

x marker

‘D’

diamond marker

‘d’

thin_diamond marker

竖线

vline marker

‘_’

hline marker

线型(可用 linestyle 参数代替):

字符串

含义

‘-’

solid line style 实线

‘–’

dashed line style 虚线

‘-.’

dash-dot line style 点画线

‘:’

dotted line style 点

官方文档:

​​matplotlib.pyplot.plot​​

10.图例组件

配置格式

matplotlib.pyplot.legend(*args, **kwargs)

参数配置

legend()
legend(handles, labels)
legend(handles=handles)
legend(labels)

官方文档:

​​matplotlib.pyplot.legend​​

11.图表渲染

显示所有的图形。

matplotlib.pyplot.show(*, block=None)

总结

Matplotlib的基础选项属性以官网为准​​https://matplotlib.org/stable/api/pyplot_summary.html​​,由于是英文缘故,在实际学习和开发过程中,需要尽量多实践多练习。


举报

相关推荐

0 条评论