符号'|'在 pyqtgraph 中

Symbol '|' in pyqtgraph

我正在尝试使用“|”绘制散点图pyqtgraph 中的符号(从 matplotlib 开始)。这个符号在 pyqtgraph 中不可用。谁知道我应该怎么做才能重现它?

确实没有“|” pyqtgraph 中的符号。
但是,您可以从任何字符创建自己的符号。
这是一个带有功能的短代码,可以从任何字符创建新符号:

import sys

import numpy as np
import pyqtgraph as pg
from PyQt5 import QtGui
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QApplication


def custom_symbol(symbol: str, font: QFont = QtGui.QFont("San Serif")):
    """Create custom symbol with font"""
    # We just want one character here, comment out otherwise
    assert len(symbol) == 1
    pg_symbol = QtGui.QPainterPath()
    pg_symbol.addText(0, 0, font, symbol)
    # Scale symbol
    br = pg_symbol.boundingRect()
    scale = min(1. / br.width(), 1. / br.height())
    tr = QtGui.QTransform()
    tr.scale(scale, scale)
    tr.translate(-br.x() - br.width() / 2., -br.y() - br.height() / 2.)
    return tr.map(pg_symbol)


if __name__ == "__main__":
    app = QApplication(sys.argv)

    x = np.random.normal(size=1000)
    y = np.random.normal(size=1000)

    pg.plot(x, y, pen=None, symbol=custom_symbol("|"))

    status = app.exec_()
    sys.exit(status)

我使用较旧的 post 来准备这个答案,可以找到 here