Pyqt5实战修炼之QCategoryAxis

Pyqt5之QCategoryAxis

问题描述

我们知道一般的表格X轴和Y轴都是数字形式,我们可以采用默认生成的轴就可以,例如下图这个 但是当我们的数据X轴或者Y轴是字符串str类型的时候,使用默认的轴已经不能满足任务需求了。如实现下图所示的效果,

不难发现,X轴的内容不是简单的数字形式,而是一类字符串。

解决办法

QT提供了一个可以在轴上放置命名范围的类QCategoryAxis。 从字面意思上就可以大概知道这是类别、目录的意思。 简单理解就是关闭默认轴的生成,通过自定义轴的标签,然后显示在对应轴的位置。

具体操作

以X轴为例,QCategoryAxis实例化为axisX PS:这个axisX命名随意,清晰明了就好。

axisX = QCategoryAxis()
axisX.append("first",0)
axisX.append("second",1)
axisX.append("third",2)
axisX.append("four",3)

其中的first就是你希望代替数字出现的内容,1表示就是原本坐标轴的显示内容。 当然如果你的点特别多,一个一个append显然不现实,可以将类别存入一个列表List中,通过循环索引即可快捷实现上述操作。

for i in range(0, len(time)):
	 self.axisX.append(time[i],float(i))

最终实现下图这样的效果。

经验分享 程序员 微信小程序 职场和发展