将鼠标悬停在某个位置上时,尝试从 pyqt5 图表中提取值。
该系列是一个烛台系列,其值为 Adj_Open、Adj_High、Adj_Low、Adj_Close。
def call_sym_data(self):
self.chartlayout.removeWidget(self.chartviewer)
sym = self.sym_input.text()
sym_raw = quandl.get("EOD/"+sym, start_date = sdate, end_date = edate)
self.symlabel.setText(self.sym_input.text())
can_data = pd.DataFrame( columns = ['Adj_Open','Adj_High','Adj_Low','Adj_Close'])
can_data['Adj_Open'] = sym_raw['Adj_Open']
can_data['Adj_High'] = sym_raw['Adj_High']
can_data['Adj_Low'] = sym_raw['Adj_Low']
can_data['Adj_Close'] = sym_raw['Adj_Close']
print(can_data)
sym_date = sym_raw.index
series = QCandlestickSeries()
series.setDecreasingColor(Qt.red)
series.setIncreasingColor(Qt.green)
for index, row in can_data.iterrows():
series.append(QCandlestickSet(row['Adj_Open'], row['Adj_High'], row['Adj_Low'], row['Adj_Close']))
self.sym_chart = QChart()
self.sym_chart.addSeries(series)
self.sym_chart.setAnimationOptions(QChart.SeriesAnimations)
self.sym_chart.createDefaultAxes()
self.sym_chart.legend().hide()
self.sym_chart.axisX(series).setCategories(sym_date.strftime("%Y-%m-%d"))
self.chartviewer = QChartView(self.sym_chart)
self.chartlayout.addWidget(self.chartviewer)
目标是将鼠标悬停在特定栏上,并让它在图片中的输出上更改 Open、High、Low 和 Close 的标签。标签是 bar_open、bar_high、bar_low 和 bar_close。
符号图
我不知道如何悬停工作并显示每个值,并且 mapToPosition 似乎没有帮助。