Matplotlib
是Python
编程语言中最受欢迎的绘图库之一。它提供了一套面向对象的API
,可将图表嵌入到使用通用GUI
工具包(如Tkinter
、wxPython
、Qt
或GTK
)的应用程序中。Matplotlib
还常用于创建静态、动画和交互式的Python
数据可视化。它能够绘制各种类型的图表,如折线图、散点图、条形图、直方图、3D 图等。为了满足更丰富的可视化需求,开发者社区贡献了许多扩展模块。本文将介绍三个这样的模块:mplcyberpunk
、Matplotx
和qbstyles
。
mplcyberpunk
模块
mplcyberpunk
是一个独特的Matplotlib
扩展模块,它为图表提供了赛博朋克风格的主题。这种风格通常以深色背景和鲜艳的线条、点或其他图形元素为特点,适合呈现具有科技感或未来主义的数据可视化。
使用mplcyberpunk
模块,可以轻松地将此类风格应用到Matplotlib
图表上。首先需要安装该模块,通过pip
命令来实现。
pip install mplcyberpunk
首先我们先来创建一批假数据
import numpy as np
x = np.linspace(0, 10, 20)
y = np.sin(x)
y2 = np.cos(x)
接下来,我们尝试用该模块来绘制一些简单的图表,代码如下
import mplcyberpunk
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('cyberpunk')
plt.figure(figsize = (8,8))
plt.scatter(x, y, marker = 'o')
mplcyberpunk.make_scatter_glow()
plt.scatter(x, y2, marker = 'o', c='lime')
mplcyberpunk.make_scatter_glow()
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()
output
那么除了散点图,我们还能够用它来绘制折线图,代码如下
plt.style.use('cyberpunk')
plt.figure(figsize = (8,8))
plt.plot(x, y, marker = 'o')
plt.plot(x, y2, marker = 'o', c='lime')
mplcyberpunk.make_lines_glow()
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()
output
当然我们还能够再此基础之上做一些衍生,代码如下
plt.style.use('cyberpunk')
plt.figure(figsize = (8,8))
plt.plot(x, y, marker = 'o')
plt.plot(x, y2, marker = 'o', c='lime')
mplcyberpunk.add_gradient_fill(alpha_gradientglow=0.5, gradient_start='zero')
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()
output
Matplotx
模块
Matplotx
是另一个Matplotlib
扩展模块,专为绘制复杂的数学函数和公式而设计。它简化了从数学表达式到可视化之间的转换过程,使得在Matplotlib
中绘制复杂数学图形变得更加容易。当然这里我们只绘制简单的图表,复杂的数学图形大家可以私底下去尝试,代码如下
import matplotlib.pyplot as plt
import matplotx
with plt.style.context(matplotx.styles.pitaya_smoothie['light']):
plt.plot(x, y, marker='o')
plt.plot(x, y2, marker='o')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
output
要是觉得这里的背景图不好看,我们也可以通过以下的代码来进行调整
with plt.style.context(matplotx.styles.pitaya_smoothie['dark']):
.....
output
qbstyles
模块
qbstyles
是一个为Matplotlib
提供了一系列现代化和专业设计风格的扩展模块。这些风格包括颜色、字体、线条和其他图表元素,可快速地应用于现有的 Matplotlib
图表。使用qbstyles
,用户可以轻松地为图表添加吸引人的视觉效果,使其在报告或演示中更具吸引力。
要使用qbstyles
,首先需要安装并导入该模块。然后,
pip install qbstyles
可以通过mpl_style()
方法来实现添加背景的效果,代码如下
mpl_style(dark=True)
plt.scatter(x, y, c=y2)
plt.colorbar(label='Y2')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
output
要是你希望是明亮背景的,可以通过mpl_style(dark=False)
来实现,要是来绘制折线图的话,代码可以这么来写
mpl_style(dark=True)
plt.plot(x, y, marker='o')
plt.plot(x, y2, marker='o')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
output
总结
Matplotlib
是一个功能强大且灵活的Python
绘图库,适用于各种数据可视化需求。而在Matplotlib
的基础上,开发者社区还贡献了许多有趣且实用的扩展模块,使得可视化效果更加丰富和多样。本文介绍了三个这样的模块:mplcyberpunk
、Matplotx
和qbstyles
。
通过使用这些模块,我们可以更轻松地创建具有吸引力的赛博朋克风格图表、绘制复杂数学函数和公式,以及应用专业的设计风格。这些扩展模块为Matplotlib
增添了更多的可能性,使其成为了Python
数据可视化领域中的佼佼者。无论是数据分析师、科学家还是工程师,都可以在这些模块中找到合适的工具来满足他们的可视化需求。
NO.1
往期推荐
Historical articles
强烈推荐一个Python debug神器
【原创】用Matplotlib绘制的图表,真的是太惊艳了!!
简直太逆天了,使用Python来检测和识别车牌号码(附代码)
MySQL 常用脚本
分享、收藏、点赞、在看安排一下?