Гистограмма с отсчетами по оси Y в pyqtgraph?

Примеры pyqtgraph включают в себя построение гистограммы с переменной по оси x и счетчиками по оси y, как показано ниже. Есть ли способ, чтобы переменная работала по оси y, а счетчики - по оси x, с заполнением fillLevel по оси y?

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

win = pg.GraphicsWindow()
win.resize(800,350)
win.setWindowTitle('pyqtgraph example: Histogram')
plt1 = win.addPlot()

## make interesting distribution of values
vals = np.hstack([np.random.normal(size=500), np.random.normal(size=260, loc=4)])

## compute standard histogram
y,x = np.histogram(vals, bins=np.linspace(-3, 8, 40))

## notice that len(x) == len(y)+1
## We are required to use stepMode=True so that PlotCurveItem will interpret this data correctly.
curve = pg.PlotCurveItem(x, y, stepMode=True, fillLevel=0, brush=(0, 0, 255, 80))
plt1.addItem(curve)

person well    schedule 19.09.2013    source источник


Ответы (1)


PlotCurveItem всегда будет заполнять горизонтальную линию в своей собственной системе координат. Поэтому, если вы хотите, чтобы он заполнялся по оси Y, его нужно повернуть:

curve.rotate(90)
person Luke    schedule 19.09.2013
comment
чтобы иметь отсчеты вдоль положительной оси Y, я сделал curve = pg.PlotCurveItem(-1.*x, y, stepMode=True, fillLevel=0, brush=(0, 0, 255, 80)), а затем curve.rotate(-90). Спасибо! - person well; 20.09.2013