簡體   English   中英

更改matplotlib樣式表中的顏色數

[英]change the number of colors in matplotlib stylesheets

我正在使用matplotlib繪制幾個圖表用於出版物,我需要所有都具有相同的樣式。 有些圖表有超過6個類別,我注意到,默認情況下,它不會繪制超過6種不同的顏色。 7或更多,我開始有重復的顏色。

例如

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
plt.style.use('seaborn-muted')

df2= pd.DataFrame(np.random.rand(10,8))
df2.plot(kind='bar',stacked=True)
plt.legend(fontsize=13,loc=1)
plt.show()

可能有一種認知原因不包括超過6種不同的顏色,但如果我需要,我該怎么辦呢? 我嘗試過不同的樣式表(seaborn,ggplot,classic),但似乎都有相同的“限制”。

我需要更改色彩圖/樣式表嗎? 理想情況下,我想使用定性顏色圖(我正在繪制的類別中沒有順序)並使用預先存在的顏色圖...我不是很好選擇顏色。

謝謝!

默認情況下,matplotlib將循環顯示一系列六種顏色。 如果要更改默認顏色(或顏色數),可以使用cycler器循環顯示所需的顏色而不是默認顏色。

from cycler import cycler

% Change the default cycle colors to be red, green, blue, and yellow
plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']))

在這里演示

更好的方法是只在您創建手動指定顏色情節plot所以,不是每一個你做的情節必須使用相同的顏色。

plt.plot([1,2,3], 'r')
plt.plot([4,5,6], 'g')
plt.plot([7,8,9], 'b')
plt.plot([10,11,12], 'y')

或者您可以在創建后更改顏色

h = plt.plot([1,2,3])
h.set_color('r')
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

colors = plt.cm.jet(np.linspace(0, 1, 10))

df2= pd.DataFrame(np.random.rand(10,8))
df2.plot(kind='bar',color=colors, stacked=True)
plt.legend(fontsize=13,loc=1)

這基本上是在matplotlib中使用更多顏色的Plotting復制的。 檢查色彩映射文檔及其示例頁面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM