簡體   English   中英

Matplotlib顏色圖相同的顏色

[英]Matplotlib Colormap Same Color

我已經從熊貓系列的matplotlib中創建了一個barplot,如下所示: Barplot

如您所見,這兩種灰色太相似了。 Set1看起來有很多顏色,那么對於一組每組只有4個類別的條形圖,它如何重復它們呢? 下面是我的代碼:

ax = df.groupby([
    'type',
    'effect'
]).size().reset_index().pivot(index='type', columns='effect', values=0).plot(
    kind='bar',
    colormap=plt.cm.Set1
)

ax.legend(bbox_to_anchor=(1.3,1))

我可以通過設置color=plt.cm.Set1(np.linspace(0,1,6))並從我的繪圖調用中刪除顏色圖來解決它,但這似乎有點不客氣...主要是因為我必須選擇手動編號6以使其看起來不錯。 顏色圖應該能夠推斷要使用的顏色數量以及要使用的顏色數量。 有沒有辦法做到這一點?

以下是一些最小,完整和可驗證示例的代碼:

test = pd.DataFrame({
    'effect_1': pd.Series([1379], index=['type_1']),
    'effect_2': pd.Series([1666], index=['type_1']),
    'effect_3': pd.Series([197], index=['type_1']),
    'effect_4': pd.Series([166], index=['type_1']),
})
test.plot(kind='bar', colormap='Set1')

示例代碼應顯示以下數字: 示例代碼生成圖

matplotlib版本1.5.3的色圖頁面中可以看到, Set1如下所示:

在此處輸入圖片說明

可以看出,在綠色和紫色之間以及在顏色圖的遠端有一些灰色。 因此,您獲得的繪圖將針對此顏色圖。

如果新的Set1的使用很重要,則可能要升級matplotlib,否則,您可能只想選擇其他顏色表。

暫無
暫無

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

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