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))
最终实现下图这样的效果。