繁体   English   中英

Python 的默认调色板

[英]default color palette for Python

我有一个为我的雇主创建的自定义调色板

pink = '#E5007E'
pink_80 = '#FFC7E6'
pink_60='#FF8FCC'
aqua='#00B4DF'
aqua_80='#C6F4FF'
pink_40='#FF56B3'
pink_d25='#AC005F'
aqua_60='#8CE9FF'
aqua_40='#53DEFF'
aqua_d25='#0087A7'

color_list = [pink, aqua,
              aqua_80, pink_80,aqua_60, pink_60,aqua_40,pink_40,aqua_d25,pink_d25]

我如何使它成为所有图表的默认调色板? 是否有这样一种说法“导入 color_list”并将 matplotlib 默认设置为该列表?

您需要修改 Matplotlib 的配置文件matplotlibrc 该文件存储在不同的位置,具体取决于您希望应用编辑的级别(全局,与单一环境)。 您可以在此文档页面找到位置

找到要修改的文件后,打开它并查找以下行:

#axes.prop_cycle: cycler('color', ['1f77b4', 'ff7f0e', '2ca02c', 'd62728', '9467bd', '8c564b', 'e377c2', '7f7f7f', 'bcbd22', '17becf'])

您需要删除第一个字符# ,并复制没有#字符的十六进制值,如下所示:

axes.prop_cycle: cycler('color', ['E5007E', '00B4DF', 'C6F4FF', 'FFC7E6', '8CE9FF', 'FF8FCC', '53DEFF', 'FF56B3', '0087A7', 'AC005F'])

保存文件,打开一个 Python 解释器:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-np.pi, np.pi)
plt.figure()
for i in range(10):
    plt.plot(x, (i + 1) * np.cos(x), label=str(i))
plt.legend()
plt.show()

在此处输入图像描述

现在,每次加载 matplotlib 时都会使用新的调色板。

如果你想保留一组调色板并根据上下文从中选择,你可以使用colorir

首先在某处定义调色板:

palette1 = Palette("default_matplotlib",
                   pink='#E5007E',
                   pink_80='#FFC7E6',
                   pink_60='#FF8FCC',
                   aqua='#00B4DF',
                   aqua_80='#C6F4FF',
                   pink_40='#FF56B3',
                   pink_d25='#AC005F',
                   aqua_60='#8CE9FF',
                   aqua_40='#53DEFF',
                   aqua_d25='#0087A7')
palette1.save()
palette2 = Palette(...

保存每个调色板后,您可以摆脱这个文件,再也不会想起它。

现在将调色板与 matplotlib 一起使用:

palette = Palette.load("default_matplotlib")  # Here you can choose any previously created palette
data = list(range(10))
plt.scatter(data, data, color=palette.colors)
plt.show()

图1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM