如何使用 PyQtgraph 更改绘图的刻度字体大小
Posted
技术标签:
【中文标题】如何使用 PyQtgraph 更改绘图的刻度字体大小【英文标题】:How to change ticks fontsize of a plot using 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,例如字体大小是原来的两倍?跨度> 【参考方案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)
【讨论】:
救世主!谢谢以上是关于如何使用 PyQtgraph 更改绘图的刻度字体大小的主要内容,如果未能解决你的问题,请参考以下文章
Pyqtgraph plotwidget:无法将轴刻度的字体粗细更改为 BOLD
PyQtGraph PlotWidget:如何强制每次绘制(更改范围)以进行“实时”绘图
如何更改 matplotlib 中绘图的轴、刻度和标签的颜色