MatplotLib - 在图表下显示数据

2 投票
2 回答
638 浏览
提问于 2025-04-16 05:00

我的图表上有X轴刻度、Y轴刻度,还有X轴标签和Y轴标签。

My Code 



 firmwareList = self.firmware # Gets the list of all firmwares , this is a list 

我需要把固件数据放在每个柱子下面。

简单来说,我想把构建版本放在每个柱子下方的X轴上。

Example  |
         |
         |
         |
         |
         |
         |____________________
         0.0.1   0.0.2    0.0.3

我已经使用了X轴刻度和X轴标签。

我该怎么把数据放在X轴上?这些数据是一个列表。

2 个回答

1

你可以通过给 xticks 函数传递第二个参数来实现这个功能:

xticks(arange(3), ('firmware 1', 'firmware 2', 'firmware 3'))

更新:我觉得在 SciPy 食谱 的 Matplotlib 变换页面上,有一个叫做 "像注释一样的刻度标签" 的第一个例子,涵盖了你想要的通用方法。

请注意,API 有所更改,所以第 4 行应该是:

blend = M.transforms.blended_transform_factory
2

也许我理解错了,但根据你对@ars的评论,简单地在你的xticklabels后面加上\n和固件版本应该就能达到你想要的效果……(我把这个发成答案是为了能附上示例图片)比如:

import matplotlib.pyplot as plt
plt.bar(range(3), [10,20,30], align='center')
plt.xticks(range(3), ['frogs\n1.0.0', 'turtles\n1.0.1', 'cheetas\n2.0.0'])
plt.show()

标签下方的文字

这就是你想要的,还是说你需要更复杂的东西?

撰写回答