matplotlib饼图学习笔记(2)

定制Matplotlib使用样式表和rcParams

自定义Matplotlib的属性和默认样式的提示。

使用样式表

该style软件包增加了对易于切换绘图“样式”的支持,其参数与 matplotlib rc文件(在启动时读取以配置matplotlib)相同。

Matplotlib提供了许多预定义的样式。例如,有一个名为“ggplot”的预定义样式,它模仿ggplot(R的流行绘图包)的美学。要使用此样式,只需添加:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
plt.style.use('ggplot')
data = np.random.randn(50)

要列出所有可用的样式,请使用:

print(plt.style.available)
Copy to clipboard
日期:

['seaborn-ticks', 'ggplot', 'dark_background', 'bmh', 'seaborn-poster', 'seaborn-notebook', 'fast', 'seaborn', 'classic', 'Solarize_Light2', 'seaborn-dark', 'seaborn-pastel', 'seaborn-muted', '_classic_test', 'seaborn-paper', 'seaborn-colorblind', 'seaborn-bright', 'seaborn-talk', 'seaborn-dark-palette', 'tableau-colorblind10', 'seaborn-darkgrid', 'seaborn-whitegrid', 'fivethirtyeight', 'grayscale', 'seaborn-white', 'seaborn-deep']

定义自己的风格

您可以通过使用style.use样式表的路径或URL 调用来创建自定义样式并使用它们。此外,如果您将.mplstyle文件添加 到mpl_configdir/stylelib,则可以通过调用重复使用自定义样式表style.use()。默认 mpl_configdir应该是~/.config/matplotlib,但你可以检查你的位置matplotlib.get_configdir(); 您可能需要创建此目录。您还可以通过设置MPLCONFIGDIR环境变量来更改matplotlib查找stylelib /文件夹的目录,请参阅matplotlib配置和缓存目录位置。

请注意,mpl_configdir/stylelib如果样式具有相同的名称,则自定义样式表将覆盖matplotlib定义的样式表。

例如,您可能希望mpl_configdir/stylelib/presentation.mplstyle使用以下内容创建 :

axes.titlesize : 24
axes.labelsize : 20
lines.linewidth : 3
lines.markersize : 10
xtick.labelsize : 16
ytick.labelsize : 16

然后,当您想要将针对纸张设计的绘图调整为在演示文稿中看起来很好的绘图时,您可以添加:

>>> import matplotlib.pyplot as plt
>>> plt.style.use('presentation')

组合样式

样式表旨在组合在一起。因此,您可以拥有一个自定义颜色的样式表和一个可以改变演示文稿元素大小的单独样式表。通过传递样式列表可以轻松组合这些样式:

>>> import matplotlib.pyplot as plt
>>> plt.style.use(['dark_background', 'presentation'])

请注意,右侧的样式将覆盖左侧样式已定义的值。

临时造型

如果您只想为特定代码块使用样式但不想更改全局样式,则样式包提供上下文管理器,用于将更改限制为特定范围。要隔离样式更改,可以编写如下内容:

with plt.style.context('dark_background'):
    plt.plot(np.sin(np.linspace(0, 2 * np.pi)), 'r-o')
plt.show()

matplotlib饼图学习笔记(2)_第1张图片

matplotlib rcParams

动态rc设置

您还可以在python脚本中动态更改默认的rc设置,或者从python shell以交互方式更改。所有rc设置都存储在一个称为字典的变量中matplotlib.rcParams,该变量对于matplotlib包是全局的。rcParams可以直接修改,例如:

mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.color'] = 'r'
plt.plot(data)

matplotlib饼图学习笔记(2)_第2张图片
Matplotlib还提供了一些用于修改rc设置的便捷功能。该matplotlib.rc()命令可用于使用关键字参数一次修改单个组中的多个设置:

mpl.rc('lines', linewidth=4, color='g')
plt.plot(data)

matplotlib饼图学习笔记(2)_第3张图片
该matplotlib.rcdefaults()命令将恢复标准matplotlib默认设置。

设置rcParams的值时会有一定程度的验证matplotlib.rcsetup,详情请参阅 。

matplotlibrc文件

matplotlib使用matplotlibrc配置文件来定制各种属性,我们称之为或。您可以控制matplotlib中几乎每个属性的默认值:图形大小和dpi,线宽,颜色和样式,轴,轴和网格属性,文本和字体属性等。matplotlib 按以下顺序在四个位置查找:rc settingsrc parametersmatplotlibrc

matplotlibrc 在当前工作目录中,通常用于您不希望在其他位置应用的特定自定义项。

$MATPLOTLIBRC如果它是一个文件,否则$MATPLOTLIBRC/matplotlibrc。

它接下来是在特定于用户的位置,具体取决于您的平台:

在Linux和FreeBSD上,如果您已经自定义了环境,它会查找.config/matplotlib/matplotlibrc (或$XDG_CONFIG_HOME/matplotlib/matplotlibrc)。
在其他平台上,它看起来.matplotlib/matplotlibrc。
请参阅matplotlib配置和缓存目录位置。

INSTALL/matplotlib/mpl-data/matplotlibrc,这里 INSTALL是像 /usr/lib/python3.7/site-packages在Linux上,也许 C:\Python37\Lib\site-packages在Windows上。每次安装matplotlib时,都会覆盖此文件,因此如果要保存自定义项,请将此文件移动到特定于用户的matplotlib目录。

找到matplotlibrc文件后,它将不会搜索任何其他路径。

要显示matplotlibrc加载当前活动文件的位置,可以执行以下操作:

>>> import matplotlib
>>> matplotlib.matplotlib_fname()
'/home/foo/.config/matplotlib/matplotlibrc'

你可能感兴趣的:(python)