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

简介: python数据可视化开发(1):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.图表渲染

总结


前言


16900be119674f84a497d1fa55455326.png


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

常用中文字体对应名称


image.png


查询当前系统所有字体

如果要实时查询当前系统的所有字体,可以使用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')  # 设置图形弹出窗口标题



参数说明


image.png


官方文档:matplotlib.figure


05.图表标题

配置格式

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

参数说明


image.png


官方文档:matplotlib.pyplot.title


06.文本组件

配置格式

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

参数说明


image.png


官方文档:matplotlib.pyplot.text


07.坐标轴标签组件

配置格式

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


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

参数配置


image.png


官方文档:

matplotlib.pyplot.ylabel


08.网格组件

配置格式

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

参数配置


image.png


官方文档:

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)


image.png


fmt 参数用法

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

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


image.png


点型(可用 marker 参数代替)


image.png


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


image.png


官方文档:

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,由于是英文缘故,在实际学习和开发过程中,需要尽量多实践多练习。

相关文章
|
15小时前
|
数据采集 数据可视化 数据挖掘
利用Python和Pandas库优化数据分析流程
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要依据。Python作为一种强大且易于上手的编程语言,配合Pandas这一功能丰富的数据处理库,极大地简化了数据分析的流程。本文将探讨如何利用Python和Pandas库进行高效的数据清洗、转换、聚合以及可视化,从而优化数据分析的流程,提高数据分析的效率和准确性。
|
16小时前
|
Python
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
13 3
|
16小时前
|
Java Python
Python 内置库 多线程threading使用讲解
本文介绍Python中的线程基础。首先展示了单线程的基本使用,然后通过`threading`模块创建并运行多线程。示例中创建了两个线程执行不同任务,并使用`active_count()`和`enumerate()`检查线程状态。接着讨论了守护线程,主线程默认等待所有子线程完成,但可设置子线程为守护线程使其随主线程一同结束。`join()`方法用于主线程阻塞等待子线程执行完毕,而线程池能有效管理线程,减少频繁创建的开销,Python提供`ThreadPoolExecutor`进行线程池操作。最后提到了GIL(全局解释器锁),它是CPython的机制,限制了多线程并行执行的能力,可能导致性能下降。
8 1
|
16小时前
|
数据可视化 数据挖掘 数据处理
Altair:Python数据可视化库的魅力之旅
Altair:Python数据可视化库的魅力之旅
9 0
|
16小时前
|
数据可视化 BI 索引
【Python】—— matplotlib数据可视化
【Python】—— matplotlib数据可视化
7 1
|
16小时前
|
数据可视化 Linux API
【Python】—— 如果使用matplotlib做数据可视化
【Python】—— 如果使用matplotlib做数据可视化
4 0
|
16小时前
|
Serverless Python
使用Python的pandas和matplotlib库绘制移动平均线(MA)示例
使用Python的pandas和matplotlib库绘制移动平均线(MA)示例:加载CSV数据,计算5日、10日和20日MA,然后在K线图上绘制。通过`rolling()`计算平均值,`plot()`函数展示图表,`legend()`添加图例。可利用matplotlib参数自定义样式。查阅matplotlib文档以获取更多定制选项。
33 1
|
16小时前
|
数据采集 Web App开发 数据可视化
Python爬虫技术与数据可视化:Numpy、pandas、Matplotlib的黄金组合
Python爬虫技术与数据可视化:Numpy、pandas、Matplotlib的黄金组合
|
16小时前
|
机器学习/深度学习 数据可视化 数据挖掘
Python绘图工具Matplotlib安装与使用,快速上手
Python绘图工具Matplotlib安装与使用,快速上手
|
16小时前
|
数据可视化 数据挖掘 Python
Matplotlib与Seaborn在Python面试中的可视化题目
【4月更文挑战第16天】本文介绍了Python数据可视化在面试中的重点,聚焦于Matplotlib和Seaborn库。通过基础绘图、进阶图表、图形定制和交互式图表的实例展示了常见面试问题,并列出了一些易错点,如忽视图形清晰度、误用色彩等。建议理解两者功能并注意保持图形简洁,以提升面试表现和数据可视化能力。
24 3