如何使用PyQtgraph更改绘图的ticks fontsize

时间:2017-01-18 15:41:09

标签: python plot font-size pyqtgraph

一切都在标题中,如何使用pyqtgraph更改刻度的字体大小?

THX

3 个答案:

答案 0 :(得分:3)

我认为改变pyqtgraph中ticklabels字体大小的唯一方法是首先在PyQt中创建一个新字体并将fontsize设置为它。然后这个字体可以应用于刻度线。

font=QtGui.QFont()
font.setPixelSize(20)
plot.getAxis("bottom").tickFont = font

最初我会想到像这样的东西 plot.getAxis("bottom").setStyle(tickFont = font)
也应该工作,但由于某种原因,它不会。

一旦字体大小增加,也可以调整tickOffset。查找完整的运行代码如下。

import numpy as np
from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg


app = QtGui.QApplication([])

x = np.linspace(-50, 50, 1000)
y = np.sin(x) / x

win = pg.GraphicsWindow()
plot = win.addPlot(x=x, y=y, title="Plot")
plot.setLabel('bottom', "some x axis label")

font=QtGui.QFont()
font.setPixelSize(20)
plot.getAxis("bottom").tickFont = font
plot.getAxis("bottom").setStyle(tickTextOffset = 20)


if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

enter image description here

答案 1 :(得分:1)

似乎没有多少文档,但是像我一样在此方面苦苦挣扎的其他人可能会发现source code for AxisItem有用。

答案 2 :(得分:1)

对于Pyqtgraph 0.11,语法已更改为:

font=QtGui.QFont()
font.setPixelSize(20)
plot.getAxis("bottom").setStyle(tickFont = font)

plot.getAxis("bottom").setTickFont(font)