pyqtgraph中的极坐标系

The*_*dik 2 python pyqt pyqtgraph pyqt5

我需要在笛卡尔坐标和极坐标中实现两个图。笛卡尔一切都很清楚,但是是否可以在 pyqtgraph 中制作极坐标系?

eyl*_*esc 7

pyqtgraph 默认情况下不提供制作极坐标图的功能,我已通过问题#452请求该功能,在该讨论中表明您可以通过此处给出的示例轻松创建该类型图。

示例如下:

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

plot = pg.plot()
plot.setAspectLocked()

# Add polar grid lines
plot.addLine(x=0, pen=0.2)
plot.addLine(y=0, pen=0.2)
for r in range(2, 20, 2):
    circle = pg.QtGui.QGraphicsEllipseItem(-r, -r, r * 2, r * 2)
    circle.setPen(pg.mkPen(0.2))
    plot.addItem(circle)

# make polar data
theta = np.linspace(0, 2 * np.pi, 100)
radius = np.random.normal(loc=10, size=100)

# Transform to cartesian and plot
x = radius * np.cos(theta)
y = radius * np.sin(theta)
plot.plot(x, y)

if __name__ == "__main__":
    import sys

    if (sys.flags.interactive != 1) or not hasattr(QtCore, "PYQT_VERSION"):
        QtGui.QApplication.instance().exec_()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

也许在未来的版本中 pyqtgraph 将提供该功能。