python - 如何将条形图的颜色链接到 yticks?
问题描述
我有以下数据名:
我想为每一年做一个条形图,排序,每个人用一种颜色。我刚得到固定的颜色,像这样:
我使用了这段代码:
color = ['red','blue','green','orange']
for i in range (2007, 2010):
fig, ax = plt.subplots()
x = df2.loc[i,].sort_values()
y = [x.index[0], x.index[1], x.index[2], x.index[3]]
ax.barh(y,x, color=color)
plt.title(i)
如何将颜色链接到名称?
解决方案
您可以创建一个将名称链接到颜色的字典,然后在绘图时使用该信息
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 6))
color = ['red','blue','green','orange']
colors_dict = {k:v for k,v in zip(df2.columns, color)}
for i, ax in zip(range(2007, 2011), axes.flatten()):
x = df2.loc[i,].sort_values()
color = [colors_dict[i] for i in x.index]
ax.barh(x.index, x, color=color)
ax.set_title(i)
plt.tight_layout()
推荐阅读
- javascript - 如何使用正则表达式在原始 html 文本节点中的非终端点之后插入中断标签
- python - 如何像运行 Windows 服务一样运行 python 服务脚本?
- firebase - 如何获取 Firestore 集合列表,然后与安全规则的特定字段匹配
- eclipse - 无法在 Eclipse 中使用 PowerMock
- android - 更新 Android Studio 3.5 获取 proguard 警告
- ios - UIPickerView 数据未显示在子视图中
- javascript - 如何在 javascript 中为此代码检索复选框值
- amazon-web-services - 将 AWS IAM 角色建立在其他角色之上并对其进行扩展
- ios - 应用程序卡在带有 Xcode 11 测试版的 iOS 13 测试版模拟器上,但在带有 Xcode 10 的 iOS 13 测试版模拟器上运行良好
- c# - DownloadFileAsync (WebClient) 的奇怪行为