【问题标题】:How to change ticks fontsize of a plot using PyQtgraph如何使用 PyQtgraph 更改绘图的刻度字体大小
【发布时间】:2017-06-03 01:44:03
【问题描述】:

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

谢谢

【问题讨论】:

  • 一切都可能在文档中。也许作为你的代码?和你的试验?
  • 一切都在谷歌!这在多大程度上没有帮助?请确保您拥有taken the tour,尤其是阅读过How to ask a question
  • 抱歉不够精确。 pyqtgraph 的文档对我和谷歌都没有帮助。我在 pyqtgraph 支持论坛上看到了一篇帖子,指出要使用带有关键字“tickFont”的 setStyle 函数,但我不知道如何正确使用它。因此,如果使用 self.my_plot = pg.PlotWidget() 创建我的图形,然后使用 self.my_plot.setStyle(xxx),我应该放什么而不是 xxx,例如字体大小是原来的两倍?跨度>

标签: python plot font-size pyqtgraph


【解决方案1】:

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

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_()

【讨论】:

    【解决方案2】:

    似乎没有太多关于这方面的文档,但任何像我一样在这方面苦苦挣扎的人可能会发现source code for AxisItem 很有用。

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 救世主!谢谢
      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 2021-10-08
      • 2019-11-07
      • 2019-02-23
      • 1970-01-01
      • 2018-05-13
      • 2014-05-18
      • 2020-05-18
      相关资源
      最近更新 更多