gpt4 book ai didi

python - 如果条件为真,如何更改单个条的颜色

转载 作者:太空狗 更新时间:2023-10-29 20:36:15 25 4
gpt4 key购买 nike

是否可以仅更改 matplotlib 绘制的图形中单个条形的颜色?

alt text

假设我评估了 1 到 10,当用户选择评估时,我为每个评估生成了一个图表。对于每个评估,这些男孩中的一个将获胜。

所以对于每个图表,我想用不同的颜色保留获胜者栏,假设 Jim 赢得了评估 1。 Jim bar 是红色的,其他人是蓝色的。

我有一本包含值的字典,我尝试做的是这样的:

for value in dictionary.keys(): # keys are the names of the boys
if winner == value:
facecolor = 'red'
else:
facecolor = 'blue'

ax.bar(ind, num, width, facecolor=facecolor)

有人知道这样做的方法吗?

最佳答案

您需要使用color 而不是facecolor。您还可以将颜色指定为列表而不是标量值。因此,对于您的示例,您可以使用 color=['r','b','b','b','b']

例如,

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

N = 5
ind = np.arange(N)
width = 0.5
vals = [1,2,3,4,5]
colors = ['r','b','b','b','b']
ax.barh(ind, vals, width, color=colors)

plt.show()

是一个完整的示例,向您展示了您想要的内容。

回答您的评论:

colors = []
for value in dictionary.keys(): # keys are the names of the boys
if winner == value:
colors.append('r')
else:
colors.append('b')

bar(ind,num,width,color=colors)

关于python - 如果条件为真,如何更改单个条的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com