更改matplotlib中各个条的颜色?

2024-10-02 12:34:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两本字典- 被选中的候选人和被拒绝的候选人。 结构如下图所示- selected={“name”:score}\ 我想用绿色显示选中的候选人,用红色显示拒绝的候选人。 我怎么能做到呢?在

我试过这种方法,但它给了我一些荒谬的结果:

#Husain Shaikh
#test 3 matplotlib
import matplotlib.pyplot as plt
selected={"Husain":92, "Asim":65,"Chirag": 74 }
rejected={"Absar":70,"premraj":57}
plt.bar(range(len(selected)),list(selected.values()),color="green")
plt.xticks(range(len(selected)),list(selected.keys()))
plt.bar(range(len(rejected)),list(rejected.values()),color="red")
plt.xticks(range(len(rejected)),list(rejected.keys()))
plt.xlabel("Candidates")
plt.ylabel("Score")
plt.plot()
plt.show()

Tags: len字典matplotlibbarrangepltkeyslist
2条回答

给你。我只显示代码的相关/修改部分

# Import numpy, matplotlib and data here

loc_s = np.arange(len(selected))+0.1 # Offsetting the tick-label location
loc_r = np.arange(len(rejected))-0.1 # Offsetting the tick-label location
xtick_loc = list(loc_s) + list(loc_r)
xticks = list(selected.keys())+ list(rejected.keys())

plt.bar(loc_s,list(selected.values()),color="green", width=0.2,label='Selected')
plt.bar(loc_r,list(rejected.values()),color="red", width=0.2,label='Rejected')
plt.xticks(xtick_loc, xticks, rotation=45)

# Labels and legend here

输出

enter image description here

你可以试试这个

import matplotlib.pyplot as plt
selected={"Husain":92, "Asim":65,"Chirag": 74 }
rejected={"Absar":70,"premraj":57}     
selected_candidates_number = len(selected)
rejected_candidates_number = len(rejected)
plt.bar(range(selected_candidates_number ),list(selected.values()),color="green")
plt.bar(range(selected_candidates_number,selected_candidates_number +rejected_candidates_number ),list(rejected.values()),color="red")
plt.xticks(range(selected_candidates_number +rejected_candidates_number), list(selected.keys()) + list(rejected.keys()))
plt.xlabel("Candidates")
plt.ylabel("Score")
plt.plot()
plt.show()

相关问题 更多 >

    热门问题