簡體   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