python - 使用 matplotlib 绘制数据并使用相同颜色对组直方图进行着色
问题描述
我正在尝试使用 matplotlib 库绘制图表。这是我的代码。
import numpy as np
import matplotlib.pyplot as plt
data = [[206.6, 735.4, 427.9, 175.2,384.4],
[487.5, 273.7, 742.6, 159.5,144],
[613.4, 0, 294.9, 0,0]]
X = np.arange(5)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.bar(X + 0.00, data[0], color = 'b', width = 0.25)
ax.bar(X + 0.25, data[1], color = 'g', width = 0.25)
ax.bar(X + 0.50, data[2], color = 'r', width = 0.25)
ax.legend(labels=['Group-1', 'Group-2','Group-3','Group-4','Group-5'])
我希望上述图表组具有相同的颜色。例如,第 1 组直方图应该是Red
,第 2 组直方图应该是Blue
,第 3 组直方图应该是Orange
,等等。我怎样才能使用上面的代码得到它
解决方案
以下将做我认为你要求从你的代码开始的事情。这个请求对我来说似乎有点奇怪,因为您可以在 x 轴上标记图组,因此颜色提供了一种标记每个系列的明显方式)。
import numpy as np
import matplotlib.pyplot as plt
data = [[206.6, 735.4, 427.9, 175.2,384.4],
[487.5, 273.7, 742.6, 159.5,144],
[613.4, 0, 294.9, 0,0]]
X = np.arange(5)
col_list = ['red','blue','orange','green','cyan']
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
handles = ax.bar(X + 0.00, data[0], color = col_list, width = 0.25)
ax.bar(X + 0.25, data[1], color = col_list, width = 0.25)
ax.bar(X + 0.50, data[2], color = col_list, width = 0.25)
ax.legend(labels=['Group-1','Group-2','Group-3','Group-4', 'Group-5'],
handles=handles)
plt.show()
给出:
推荐阅读
- reactjs - 将 onIncrement() 和 onDecrement() 减少到 1 个函数 Reactjs?
- machine-learning - 为什么要在 CNN 卷积层中使用非线性激活函数?
- debugging - 调试器在 chrome 上打开时 iframe 崩溃,或者如果我在控制台中写入任何内容
- javascript - 无法在nodejs中获取属性对象
- android - CardView 半径和 Drawable Shape 半径不相同
- python-3.x - Python- 从路径获取 AWS 存储桶密钥
- pygame - 为什么我在使用这行代码时没有得到所有十的倍数?
- javascript - ajax,php,mysql中当前日期计数为8时禁用日期
- python - 我正在尝试在 Discord.py 中创建一个工作命令,您可以在其中通过回答数学问题来赚钱,但我无法让它工作
- java - 如何在两个大型 postgreSQL 表上批量运行外连接?