matplotlib条形图,每个条形图和一个组实验室都有单独的标签

2024-03-28 13:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法用matplotlib来标记各个条形图?最好的情况是在每个条下面垂直标记,以避免重叠

例如,红色条的x标签应该是红色的,绿色的应该是绿色的,蓝色的应该是蓝色的。主要组别“A、B、C、D”保持原样。在

还有,有没有办法创造出不同颜色的传奇?在

遵循我的准则:

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

n_groups = 4
bar_width = 0.1
opacity = 0.4
index = np.arange(0, 2*n_groups, 2)

data = [1,2,3,4]
data2 = [5,6,7,8]
chart = plt.bar(index, data, bar_width, color='blue', edgecolor='black')
chart = plt.bar(index+bar_width, data2, bar_width, color='red', edgecolor='black')
chart = plt.bar(index+2*bar_width, data, bar_width, color='green', edgecolor='black')


ax.set_xlabel('y_axis')
ax.set_ylabel('x_axis')
ax.set_title('Title')

plt.xticks(index+bar_width*0.5, ('A', 'B', 'C', 'D'))
plt.legend()
plt.tight_layout()

plt.show()

输出是:

enter image description here


Tags: 标记dataindexchartbarpltaxwidth
1条回答
网友
1楼 · 发布于 2024-03-28 13:32:26

图例没有打开,因为plt没有被指示标记这些图。添加如下内容以获取绘图行中图例“label='Plot 1'”中的标签:

chart = plt.bar(index, data, bar_width, color='blue',edgecolor='black', label='Plot 1')
chart = plt.bar(index+bar_width, data2, bar_width, color='red', edgecolor='black', label='Plot 2')
chart = plt.bar(index+2*bar_width, data, bar_width, color='green', edgecolor='black', label='Plot 3')

这让你成为传奇人物。在

相关问题 更多 >