MatplotlibPython编程语言中最受欢迎的绘图库之一。它提供了一套面向对象的API,可将图表嵌入到使用通用GUI工具包(如TkinterwxPythonQtGTK)的应用程序中。Matplotlib还常用于创建静态、动画和交互式的Python数据可视化。它能够绘制各种类型的图表,如折线图、散点图、条形图、直方图、3D 图等。为了满足更丰富的可视化需求,开发者社区贡献了许多扩展模块。本文将介绍三个这样的模块:mplcyberpunkMatplotxqbstyles

mplcyberpunk模块

mplcyberpunk是一个独特的Matplotlib扩展模块,它为图表提供了赛博朋克风格的主题。这种风格通常以深色背景和鲜艳的线条、点或其他图形元素为特点,适合呈现具有科技感或未来主义的数据可视化。

python创建图表 python做图表的模块有哪些_python创建图表

使用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

python创建图表 python做图表的模块有哪些_python创建图表_02

那么除了散点图,我们还能够用它来绘制折线图,代码如下

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

python创建图表 python做图表的模块有哪些_matplotlib_03

当然我们还能够再此基础之上做一些衍生,代码如下

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

python创建图表 python做图表的模块有哪些_python_04

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

python创建图表 python做图表的模块有哪些_matplotlib_05

要是觉得这里的背景图不好看,我们也可以通过以下的代码来进行调整

with plt.style.context(matplotx.styles.pitaya_smoothie['dark']):
    .....

output

python创建图表 python做图表的模块有哪些_python_06

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

python创建图表 python做图表的模块有哪些_python_07

要是你希望是明亮背景的,可以通过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

python创建图表 python做图表的模块有哪些_信息可视化_08

总结

Matplotlib是一个功能强大且灵活的Python绘图库,适用于各种数据可视化需求。而在Matplotlib的基础上,开发者社区还贡献了许多有趣且实用的扩展模块,使得可视化效果更加丰富和多样。本文介绍了三个这样的模块:mplcyberpunkMatplotxqbstyles

通过使用这些模块,我们可以更轻松地创建具有吸引力的赛博朋克风格图表、绘制复杂数学函数和公式,以及应用专业的设计风格。这些扩展模块为Matplotlib 增添了更多的可能性,使其成为了Python数据可视化领域中的佼佼者。无论是数据分析师、科学家还是工程师,都可以在这些模块中找到合适的工具来满足他们的可视化需求。