3 回答
TA贡献1772条经验 获得超8个赞
您将直方图与条形图混淆了。在这里你想要一个条形图。如果你想使用熊猫,这将非常容易:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
xticks = ['A','B','C']
Scores = np.array([[5,7],[4,6],[8,3]])
colors = ['red','blue']
names = ["Cat", "Dog"]
fig, ax = plt.subplots()
pd.DataFrame(Scores, index=xticks, columns=names).plot.bar(color=colors, ax=ax)
plt.show()
如果单独使用 matplotlib,它会稍微复杂一些,因为每一列都需要独立绘制,
import matplotlib.pyplot as plt
import numpy as np
xticks = ['A','B','C']
Scores = np.array([[5,7],[4,6],[8,3]])
colors = ['red','blue']
names = ["Cat", "Dog"]
fig, ax = plt.subplots()
x = np.arange(len(Scores))
ax.bar(x-0.2, Scores[:,0], color=colors[0], width=0.4, label=names[0])
ax.bar(x+0.2, Scores[:,1], color=colors[1], width=0.4, label=names[1])
ax.set(xticks=x, xticklabels=xticks)
ax.legend()
plt.show()
TA贡献1821条经验 获得超6个赞
plt.xticks(range(0, 6), ('A', 'A', 'B', 'B', 'C', 'C'))
我相信会回答问题第 2 部分。我不确定高度,因为我没有制作直方图。
添加回答
举报