我有一个python脚本,它解析csv文件并从中创建一个混合图表
如果当前进度比上一个进度下降了5倍以上,我想将CurrentProg条的颜色更改为红色。有可能这样做吗
例如,下表是我正在解析的csv文件的示例。我希望Derick和Lisa的CurrentProg条为红色,如下图所示
Name OldProg PrevProg CurrentProg Goal
Derick 45 60 52 90
Jenna 56 87 89 90
Lisa 78 93 76 90
Harry 98 84 79 90
下面是一段代码,用于解析csv文件并将其放入图表的条形图/线条中
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df = pd.read_csv("file.csv")
names = df['name'].values
x = np.arange(len(names))*2
w = 0.40
plt.bar(x-w, df['Old Progress'].values, width=w*0.7, label='OldProg', color = "cyan")
plt.bar(x, df['Previous Progress'].values, width=w*0.7, label='PrevProg', color = "green")
plt.bar(x+w, df['Current Progress'].values, width=w*0.7, label='CurrentProg', color = "blue")
plt.plot(x, df['Goal'].values, lw=2, label='Goal', color = "red")
如果我需要进一步澄清,请告诉我。多谢各位
plt.bar()
可以接受与条形图中项目数长度相同的颜色列表,而不仅仅是单一颜色因此,您可以计算条形图中每个元素的颜色,并将其作为
colors
参数传递像这样的东西会起作用:
相关问题 更多 >
编程相关推荐