[英]Color Bar Chart Based on Label Name
我是 python 的新手,所以請像我 2 歲一樣隨意解釋。
我正在嘗試通過根據行中的字符串過濾內容來處理電子表格並創建多個條形圖。 我現在要確保所有條形圖都具有基於 label 的一致條形配色方案。 例如,有效=綠色、無效=紅色、不適用=灰色等。並非所有標簽都會出現在每個條形圖中,所以我不能依賴訂購 colors,我需要通過分配配對來具體說明。 我假設我需要創建一個索引,然后創建一個顏色映射,但我不確定如何執行此操作。
代碼是;
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
filtered_audit_result_columns = pd.read_csv('audit_results.csv', usecols=["Title", "Implementation Status"])
guidelines_for_data_centre = filtered_audit_result_columns [filtered_audit_result_columns ['Title'].str.contains('Guidelines for Data Centres')]
print(guidelines_for_data_centre)
Title Implementation Status
0 Guidelines for Data Centres Effective
1 Guidelines for Data Centres Not Effective
2 Guidelines for Data Centres Not Effective
3 Guidelines for Data Centres Not Effective
4 Guidelines for Data Centres Effective
5 Guidelines for Data Centres Not Applicable
6 Guidelines for Data Centres Effective
7 Guidelines for Data Centres Not Effective
8 Guidelines for Data Centres No Visibility
9 Guidelines for Data Centres No Visibility
10 Guidelines for Data Centres Not Applicable
11 Guidelines for Data Centres No Visibility
12 Guidelines for Data Centres Effective
13 Guidelines for Data Centres Not Applicable
count = guidelines_for_data_centre['Implementation Status'].value_counts()
print(count)
################################
Not Effective 4
Not Applicable 3
Effective 4
No Visibility 3
################################
hbar = count.plot.barh(x= 'Implementation Status')
任何意見,將不勝感激。
謝謝
如果您使用 seaborn,您可以使用字典作為palette
。 您還可以調用已進行計數的sns.countplot
(並跳過count_values()
)。
這是一個代碼示例:
import seaborn as sns
import pandas as pd
import numpy as np
my_color_dict = {'Effective': 'limegreen', 'Not Effective': 'crimson',
'Not Applicable': 'silver', 'Not Visible': 'skyblue'}
guidelines_for_data_centre = pd.DataFrame({'Implementation Status': np.random.choice(
['Effective', 'Not Effective', 'Not Applicable', 'Not Visible'], 100, p=[0.2, 0.5, 0.3, 0.0])})
sns.countplot(data=guidelines_for_data_centre, x='Implementation Status', palette=my_color_dict)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.