数据可视化用于以更直接的表示方式显示数据,并且更易于理解。它可以用柱状图、散点图、折线图、饼图等形式形成。许多人仍然使用Matplotlib作为后端模块来可视化他们的图形。在这个故事中,我将给你一些技巧,使用Matplotlib创建一个优秀图表的5个强大技巧。
1. 使用Latex字体
默认情况下,我们可以使用Matplotlib提供的一些不错的字体。但是,有些符号不够好,不能由Matplotlib创建。例如,符号phi(φ),如图1所示。
正如你在y-label中看到的,它仍然是phi(φ)的符号,但是对于某些人来说,它还不足以作为绘图标签。为了使它更漂亮,你可以使用Latex字体。如何使用它?答案就在这里。
plt.rcParams['text.usetex'] = True
plt.rcParams['font.size'] = 18
你可以在python代码的开头添加上面的代码。第1行定义绘图中使用的LaTeX字体。你还需要定义大于默认大小的字体大小。如果你不换,我想它会给你一个小标签。我选了18。应用上述代码后的结果如图2所示。
你需要在符号的开头和结尾写上双美元符号,像这样(\$…\$)
plt.xlabel('x')
plt.ylabel('$\phi$ (phi)')
如果你有一些错误或没有安装使用LaTeX字体所需的库,则需要通过在Jupyter notebook中运行以下代码来安装这些库。
!apt install texlive-fonts-recommended texlive-fonts-extra cm-super dvipng
如果你想通过终端安装,可以输入
apt install texlive-fonts-recommended texlive-fonts-extra cm-super dvipng
当然,你可以使用一些不同的字体系列,如serif、sans-serif(上面的示例)等。要更改字体系列,可以使用以下代码。
plt.rcParams['font.family'] = "serif"
如果你将上面的代码添加到代码中,它将给你一个图,如图3所示。
你能理解图3和图2之间的区别吗?是的,如果你仔细分析,区别在于字体的尾部。后一个图形使用serif,而前者使用sans-serif。简而言之,serif表示尾,sans表示没有。如果你想了解更多有关字体系列或字体的信息,我建议你使用此链接。
https://en.wikipedia.org/wiki/Typeface
你还可以使用Jupyter themes库设置字体系列/字体。我已经做了使用它的教程。只需单击以下链接。Jupyter主题也可以改变你的Jupyter主题,例如暗模式主题:https://medium.com/@
rizman18/how-can-i-customize-jupyter-notebook-into-dark-mode-7985ce780f38
我们希望插入复杂文本,如图4的标题所示。
如果你想创建图4,可以使用这个完整的代码
# 导入库
import numpy as np
import matplotlib.pyplot as plt
# 调整matplotlib参数
plt.rcParams.update(plt.rcParamsDefault)
plt.rcParams['text.usetex'] = True
plt.rcParams['font.size'] = 18
plt.rcParams['font.family'] = "serif"
# 创建模拟数据
r = 15
theta = 5
rw = 12
gamma = 0.1
err = np.arange(0., r, .1)
z = np.where(err < rw, 0, gamma * (err-rw)**2 * np.sin(np.deg2rad(theta)))
# 可视化数据
plt.scatter(err, z, s = 10)
plt.title(r'$\Sigma(x) = \gamma x^2 \sin(\theta)