Adding markers to a pyqtgraph dynamic graph
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am doing a spectrum analyzer in python. Now I have a problem with adding markers to the spectrum graph. I do not know how to do this and could not find an example. Tell me please. Thank you in advance
Here is a part of my code where I create graphs and display them. Each graph is a separate stream.
enter image description here
class Test(QtGui.QDockWidget):
def __init__(self, nember, band, number_thread, bandw):
super(Test, self).__init__()
self.setAcceptDrops(True)
self.bandw = bandw
self.dockedWidget = QtGui.QWidget()
self.setAcceptDrops(True)
self.number_thread = number_thread
self.image_item = pg.ImageItem()
pos = np.array([0., 1., 0.5, 0.25, 0.75])
color = np.array([[0, 0, 0, 0], [255, 255, 0, 255], [0, 0, 0, 255], (0, 0, 255, 255), (255, 0, 0, 255)],
dtype=np.ubyte)
cmap = pg.ColorMap(pos, color)
lut = cmap.getLookupTable(0.0, 1.0, 256)
self.image_item.setLookupTable(lut)
self.image_item.setLevels([-5, 16])
self.win = pg.PlotWidget()
self.win1 = pg.PlotWidget()
self.hLine=pg.InfiniteLine(pos=0, angle=0, movable=True, pen='r')
self.win.addItem(self.hLine)
self.hLine.addMarker(',')
self.win1.addItem(self.image_item)
self.win.setLabel('left', 'Амплитуда'.decode('utf-8'), units='dB')
self.win.setLabel('bottom', 'Частота'.decode('utf-8'), units='Hz')
self.plot_data = self.win.plot()
self.plot_maxhold = self.win.plot()
self.win.setLimits(xMin=min(band), xMax=max(band))
self.checkbut_maxhold = QtGui.QCheckBox('МАКСХОЛД'.decode('utf-8'))
self.checkbutton = QtGui.QCheckBox('ВАША РЕКЛАМА1'.decode('utf-8'))
self.checkbutt2 = QtGui.QCheckBox('ВАША РЕКЛАМА2'.decode('utf-8'))
self.nember = nember
button_layout = QtGui.QHBoxLayout()
button_layout.addWidget(self.checkbut_maxhold)
button_layout.addWidget(self.checkbutton)
button_layout.addWidget(self.checkbutt2)
layout = QtGui.QVBoxLayout()
layout.addItem(button_layout)
layout.addWidget(self.win)
layout.addWidget(self.win1)
#layout.addLayout(self.image_widget)
# self.dockedWidget.addWidget(self.win)
self.dockedWidget.setLayout(layout)
self.setWidget(self.dockedWidget)
self.thread = Tread_400(self.plot_data,self.image_item, self.plot_maxhold, self.nember, band)
self.thread.start()
self.checkbut_maxhold.stateChanged.connect(self.state_changed_button1)
def closeEvent(self, QCloseEvent):
data.list_band.remove(data.list_band[data.list_freq.index(self.bandw)])
data.list_freq.remove(self.bandw)
print (self.nember)
self.thread.stop()
del data.shared_data[self.nember]
print(data.list_band)
print(data.list_freq)
def set_value(self):
print(1)
self.range_changed.emit(22)
def tested(self, vall):
print (vall)
def state_changed_button1(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.flag_maxhold = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.flag_maxhold = False
def state_changed_button2(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama1 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama1 = False
def state_changed_button3(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama2 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama2 = False
class Tread_400(QtCore.QThread):
def __init__(self, wind,plot_waterfall, plot_maxhold, number, band):
QtCore.QThread.__init__(self)
print(self.currentThreadId())
self.flag_maxhold = None
self.reklama1 = True
self.reklama2 = False
self.x_axis = band
self.img_array = np.zeros((100, len(self.x_axis)))
self.plot_maxhold = plot_maxhold
self.wind = wind
self.plot_waterfall=plot_waterfall
self.number = number
self.timer1 = QtCore.QTimer()
print(self.timer1.timerId())
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
print(self.number)
self.timer1.timeout.connect(self.plot_data)
def run(self):
self.timer1.start(0.0001)
def plot_data(self):
self.wind.setData(self.x_axis, data.shared_data[self.number], clear=True)
if self.flag_maxhold:
maxhhoold = self.maxhold(data.shared_data[self.number], self.maxhold22)
self.plot_maxhold.setData(self.x_axis, maxhhoold[:], clear=True, pen='r')
elif self.flag_maxhold == False:
self.plot_maxhold.clear()
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
self.maxhold22=None
if self.reklama1==True:
start=time.time()
self.img_array = np.roll(self.img_array, -1, 0)
self.img_array[-1:] = data.shared_data[self.number]
self.plot_waterfall.setImage(self.img_array.T, autoLevels=False)
print (time.time()-start)
def stop(self):
self.timer1.stop()
self.terminate()
self.wait()
def maxhold(self, data, maxhold):
for i in np.arange(data.size):
if data[i] > maxhold[i]:
maxhold[i] = data[i]
return maxhold
python-2.7 pyqtgraph
add a comment |
I am doing a spectrum analyzer in python. Now I have a problem with adding markers to the spectrum graph. I do not know how to do this and could not find an example. Tell me please. Thank you in advance
Here is a part of my code where I create graphs and display them. Each graph is a separate stream.
enter image description here
class Test(QtGui.QDockWidget):
def __init__(self, nember, band, number_thread, bandw):
super(Test, self).__init__()
self.setAcceptDrops(True)
self.bandw = bandw
self.dockedWidget = QtGui.QWidget()
self.setAcceptDrops(True)
self.number_thread = number_thread
self.image_item = pg.ImageItem()
pos = np.array([0., 1., 0.5, 0.25, 0.75])
color = np.array([[0, 0, 0, 0], [255, 255, 0, 255], [0, 0, 0, 255], (0, 0, 255, 255), (255, 0, 0, 255)],
dtype=np.ubyte)
cmap = pg.ColorMap(pos, color)
lut = cmap.getLookupTable(0.0, 1.0, 256)
self.image_item.setLookupTable(lut)
self.image_item.setLevels([-5, 16])
self.win = pg.PlotWidget()
self.win1 = pg.PlotWidget()
self.hLine=pg.InfiniteLine(pos=0, angle=0, movable=True, pen='r')
self.win.addItem(self.hLine)
self.hLine.addMarker(',')
self.win1.addItem(self.image_item)
self.win.setLabel('left', 'Амплитуда'.decode('utf-8'), units='dB')
self.win.setLabel('bottom', 'Частота'.decode('utf-8'), units='Hz')
self.plot_data = self.win.plot()
self.plot_maxhold = self.win.plot()
self.win.setLimits(xMin=min(band), xMax=max(band))
self.checkbut_maxhold = QtGui.QCheckBox('МАКСХОЛД'.decode('utf-8'))
self.checkbutton = QtGui.QCheckBox('ВАША РЕКЛАМА1'.decode('utf-8'))
self.checkbutt2 = QtGui.QCheckBox('ВАША РЕКЛАМА2'.decode('utf-8'))
self.nember = nember
button_layout = QtGui.QHBoxLayout()
button_layout.addWidget(self.checkbut_maxhold)
button_layout.addWidget(self.checkbutton)
button_layout.addWidget(self.checkbutt2)
layout = QtGui.QVBoxLayout()
layout.addItem(button_layout)
layout.addWidget(self.win)
layout.addWidget(self.win1)
#layout.addLayout(self.image_widget)
# self.dockedWidget.addWidget(self.win)
self.dockedWidget.setLayout(layout)
self.setWidget(self.dockedWidget)
self.thread = Tread_400(self.plot_data,self.image_item, self.plot_maxhold, self.nember, band)
self.thread.start()
self.checkbut_maxhold.stateChanged.connect(self.state_changed_button1)
def closeEvent(self, QCloseEvent):
data.list_band.remove(data.list_band[data.list_freq.index(self.bandw)])
data.list_freq.remove(self.bandw)
print (self.nember)
self.thread.stop()
del data.shared_data[self.nember]
print(data.list_band)
print(data.list_freq)
def set_value(self):
print(1)
self.range_changed.emit(22)
def tested(self, vall):
print (vall)
def state_changed_button1(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.flag_maxhold = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.flag_maxhold = False
def state_changed_button2(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama1 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama1 = False
def state_changed_button3(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama2 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama2 = False
class Tread_400(QtCore.QThread):
def __init__(self, wind,plot_waterfall, plot_maxhold, number, band):
QtCore.QThread.__init__(self)
print(self.currentThreadId())
self.flag_maxhold = None
self.reklama1 = True
self.reklama2 = False
self.x_axis = band
self.img_array = np.zeros((100, len(self.x_axis)))
self.plot_maxhold = plot_maxhold
self.wind = wind
self.plot_waterfall=plot_waterfall
self.number = number
self.timer1 = QtCore.QTimer()
print(self.timer1.timerId())
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
print(self.number)
self.timer1.timeout.connect(self.plot_data)
def run(self):
self.timer1.start(0.0001)
def plot_data(self):
self.wind.setData(self.x_axis, data.shared_data[self.number], clear=True)
if self.flag_maxhold:
maxhhoold = self.maxhold(data.shared_data[self.number], self.maxhold22)
self.plot_maxhold.setData(self.x_axis, maxhhoold[:], clear=True, pen='r')
elif self.flag_maxhold == False:
self.plot_maxhold.clear()
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
self.maxhold22=None
if self.reklama1==True:
start=time.time()
self.img_array = np.roll(self.img_array, -1, 0)
self.img_array[-1:] = data.shared_data[self.number]
self.plot_waterfall.setImage(self.img_array.T, autoLevels=False)
print (time.time()-start)
def stop(self):
self.timer1.stop()
self.terminate()
self.wait()
def maxhold(self, data, maxhold):
for i in np.arange(data.size):
if data[i] > maxhold[i]:
maxhold[i] = data[i]
return maxhold
python-2.7 pyqtgraph
add a comment |
I am doing a spectrum analyzer in python. Now I have a problem with adding markers to the spectrum graph. I do not know how to do this and could not find an example. Tell me please. Thank you in advance
Here is a part of my code where I create graphs and display them. Each graph is a separate stream.
enter image description here
class Test(QtGui.QDockWidget):
def __init__(self, nember, band, number_thread, bandw):
super(Test, self).__init__()
self.setAcceptDrops(True)
self.bandw = bandw
self.dockedWidget = QtGui.QWidget()
self.setAcceptDrops(True)
self.number_thread = number_thread
self.image_item = pg.ImageItem()
pos = np.array([0., 1., 0.5, 0.25, 0.75])
color = np.array([[0, 0, 0, 0], [255, 255, 0, 255], [0, 0, 0, 255], (0, 0, 255, 255), (255, 0, 0, 255)],
dtype=np.ubyte)
cmap = pg.ColorMap(pos, color)
lut = cmap.getLookupTable(0.0, 1.0, 256)
self.image_item.setLookupTable(lut)
self.image_item.setLevels([-5, 16])
self.win = pg.PlotWidget()
self.win1 = pg.PlotWidget()
self.hLine=pg.InfiniteLine(pos=0, angle=0, movable=True, pen='r')
self.win.addItem(self.hLine)
self.hLine.addMarker(',')
self.win1.addItem(self.image_item)
self.win.setLabel('left', 'Амплитуда'.decode('utf-8'), units='dB')
self.win.setLabel('bottom', 'Частота'.decode('utf-8'), units='Hz')
self.plot_data = self.win.plot()
self.plot_maxhold = self.win.plot()
self.win.setLimits(xMin=min(band), xMax=max(band))
self.checkbut_maxhold = QtGui.QCheckBox('МАКСХОЛД'.decode('utf-8'))
self.checkbutton = QtGui.QCheckBox('ВАША РЕКЛАМА1'.decode('utf-8'))
self.checkbutt2 = QtGui.QCheckBox('ВАША РЕКЛАМА2'.decode('utf-8'))
self.nember = nember
button_layout = QtGui.QHBoxLayout()
button_layout.addWidget(self.checkbut_maxhold)
button_layout.addWidget(self.checkbutton)
button_layout.addWidget(self.checkbutt2)
layout = QtGui.QVBoxLayout()
layout.addItem(button_layout)
layout.addWidget(self.win)
layout.addWidget(self.win1)
#layout.addLayout(self.image_widget)
# self.dockedWidget.addWidget(self.win)
self.dockedWidget.setLayout(layout)
self.setWidget(self.dockedWidget)
self.thread = Tread_400(self.plot_data,self.image_item, self.plot_maxhold, self.nember, band)
self.thread.start()
self.checkbut_maxhold.stateChanged.connect(self.state_changed_button1)
def closeEvent(self, QCloseEvent):
data.list_band.remove(data.list_band[data.list_freq.index(self.bandw)])
data.list_freq.remove(self.bandw)
print (self.nember)
self.thread.stop()
del data.shared_data[self.nember]
print(data.list_band)
print(data.list_freq)
def set_value(self):
print(1)
self.range_changed.emit(22)
def tested(self, vall):
print (vall)
def state_changed_button1(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.flag_maxhold = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.flag_maxhold = False
def state_changed_button2(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama1 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama1 = False
def state_changed_button3(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama2 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama2 = False
class Tread_400(QtCore.QThread):
def __init__(self, wind,plot_waterfall, plot_maxhold, number, band):
QtCore.QThread.__init__(self)
print(self.currentThreadId())
self.flag_maxhold = None
self.reklama1 = True
self.reklama2 = False
self.x_axis = band
self.img_array = np.zeros((100, len(self.x_axis)))
self.plot_maxhold = plot_maxhold
self.wind = wind
self.plot_waterfall=plot_waterfall
self.number = number
self.timer1 = QtCore.QTimer()
print(self.timer1.timerId())
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
print(self.number)
self.timer1.timeout.connect(self.plot_data)
def run(self):
self.timer1.start(0.0001)
def plot_data(self):
self.wind.setData(self.x_axis, data.shared_data[self.number], clear=True)
if self.flag_maxhold:
maxhhoold = self.maxhold(data.shared_data[self.number], self.maxhold22)
self.plot_maxhold.setData(self.x_axis, maxhhoold[:], clear=True, pen='r')
elif self.flag_maxhold == False:
self.plot_maxhold.clear()
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
self.maxhold22=None
if self.reklama1==True:
start=time.time()
self.img_array = np.roll(self.img_array, -1, 0)
self.img_array[-1:] = data.shared_data[self.number]
self.plot_waterfall.setImage(self.img_array.T, autoLevels=False)
print (time.time()-start)
def stop(self):
self.timer1.stop()
self.terminate()
self.wait()
def maxhold(self, data, maxhold):
for i in np.arange(data.size):
if data[i] > maxhold[i]:
maxhold[i] = data[i]
return maxhold
python-2.7 pyqtgraph
I am doing a spectrum analyzer in python. Now I have a problem with adding markers to the spectrum graph. I do not know how to do this and could not find an example. Tell me please. Thank you in advance
Here is a part of my code where I create graphs and display them. Each graph is a separate stream.
enter image description here
class Test(QtGui.QDockWidget):
def __init__(self, nember, band, number_thread, bandw):
super(Test, self).__init__()
self.setAcceptDrops(True)
self.bandw = bandw
self.dockedWidget = QtGui.QWidget()
self.setAcceptDrops(True)
self.number_thread = number_thread
self.image_item = pg.ImageItem()
pos = np.array([0., 1., 0.5, 0.25, 0.75])
color = np.array([[0, 0, 0, 0], [255, 255, 0, 255], [0, 0, 0, 255], (0, 0, 255, 255), (255, 0, 0, 255)],
dtype=np.ubyte)
cmap = pg.ColorMap(pos, color)
lut = cmap.getLookupTable(0.0, 1.0, 256)
self.image_item.setLookupTable(lut)
self.image_item.setLevels([-5, 16])
self.win = pg.PlotWidget()
self.win1 = pg.PlotWidget()
self.hLine=pg.InfiniteLine(pos=0, angle=0, movable=True, pen='r')
self.win.addItem(self.hLine)
self.hLine.addMarker(',')
self.win1.addItem(self.image_item)
self.win.setLabel('left', 'Амплитуда'.decode('utf-8'), units='dB')
self.win.setLabel('bottom', 'Частота'.decode('utf-8'), units='Hz')
self.plot_data = self.win.plot()
self.plot_maxhold = self.win.plot()
self.win.setLimits(xMin=min(band), xMax=max(band))
self.checkbut_maxhold = QtGui.QCheckBox('МАКСХОЛД'.decode('utf-8'))
self.checkbutton = QtGui.QCheckBox('ВАША РЕКЛАМА1'.decode('utf-8'))
self.checkbutt2 = QtGui.QCheckBox('ВАША РЕКЛАМА2'.decode('utf-8'))
self.nember = nember
button_layout = QtGui.QHBoxLayout()
button_layout.addWidget(self.checkbut_maxhold)
button_layout.addWidget(self.checkbutton)
button_layout.addWidget(self.checkbutt2)
layout = QtGui.QVBoxLayout()
layout.addItem(button_layout)
layout.addWidget(self.win)
layout.addWidget(self.win1)
#layout.addLayout(self.image_widget)
# self.dockedWidget.addWidget(self.win)
self.dockedWidget.setLayout(layout)
self.setWidget(self.dockedWidget)
self.thread = Tread_400(self.plot_data,self.image_item, self.plot_maxhold, self.nember, band)
self.thread.start()
self.checkbut_maxhold.stateChanged.connect(self.state_changed_button1)
def closeEvent(self, QCloseEvent):
data.list_band.remove(data.list_band[data.list_freq.index(self.bandw)])
data.list_freq.remove(self.bandw)
print (self.nember)
self.thread.stop()
del data.shared_data[self.nember]
print(data.list_band)
print(data.list_freq)
def set_value(self):
print(1)
self.range_changed.emit(22)
def tested(self, vall):
print (vall)
def state_changed_button1(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.flag_maxhold = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.flag_maxhold = False
def state_changed_button2(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama1 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama1 = False
def state_changed_button3(self, int):
if self.checkbut_maxhold.isChecked():
self.thread.reklama2 = True
print("CHECKED!")
else:
print("UNCHECKED!")
self.thread.reklama2 = False
class Tread_400(QtCore.QThread):
def __init__(self, wind,plot_waterfall, plot_maxhold, number, band):
QtCore.QThread.__init__(self)
print(self.currentThreadId())
self.flag_maxhold = None
self.reklama1 = True
self.reklama2 = False
self.x_axis = band
self.img_array = np.zeros((100, len(self.x_axis)))
self.plot_maxhold = plot_maxhold
self.wind = wind
self.plot_waterfall=plot_waterfall
self.number = number
self.timer1 = QtCore.QTimer()
print(self.timer1.timerId())
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
print(self.number)
self.timer1.timeout.connect(self.plot_data)
def run(self):
self.timer1.start(0.0001)
def plot_data(self):
self.wind.setData(self.x_axis, data.shared_data[self.number], clear=True)
if self.flag_maxhold:
maxhhoold = self.maxhold(data.shared_data[self.number], self.maxhold22)
self.plot_maxhold.setData(self.x_axis, maxhhoold[:], clear=True, pen='r')
elif self.flag_maxhold == False:
self.plot_maxhold.clear()
self.maxhold22 = np.ones(data.shared_data[self.number].size) * -1000
self.maxhold22=None
if self.reklama1==True:
start=time.time()
self.img_array = np.roll(self.img_array, -1, 0)
self.img_array[-1:] = data.shared_data[self.number]
self.plot_waterfall.setImage(self.img_array.T, autoLevels=False)
print (time.time()-start)
def stop(self):
self.timer1.stop()
self.terminate()
self.wait()
def maxhold(self, data, maxhold):
for i in np.arange(data.size):
if data[i] > maxhold[i]:
maxhold[i] = data[i]
return maxhold
python-2.7 pyqtgraph
python-2.7 pyqtgraph
edited Jan 4 at 18:24
Ivan
asked Jan 4 at 18:16
IvanIvan
32
32
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It seems that you can use a TextItem with or without an ArrowItem (or CurveArrow) would get you close to what you want?
See the example file for TextItem: pyqtgraph/examples/text.py

add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54044129%2fadding-markers-to-a-pyqtgraph-dynamic-graph%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It seems that you can use a TextItem with or without an ArrowItem (or CurveArrow) would get you close to what you want?
See the example file for TextItem: pyqtgraph/examples/text.py

add a comment |
It seems that you can use a TextItem with or without an ArrowItem (or CurveArrow) would get you close to what you want?
See the example file for TextItem: pyqtgraph/examples/text.py

add a comment |
It seems that you can use a TextItem with or without an ArrowItem (or CurveArrow) would get you close to what you want?
See the example file for TextItem: pyqtgraph/examples/text.py

It seems that you can use a TextItem with or without an ArrowItem (or CurveArrow) would get you close to what you want?
See the example file for TextItem: pyqtgraph/examples/text.py

answered Jan 5 at 21:37
Diziet AsahiDiziet Asahi
9,36331731
9,36331731
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54044129%2fadding-markers-to-a-pyqtgraph-dynamic-graph%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown