0

マウスを位置の上に置いたときに、pyqt5 チャートから値を取得しようとしています。

Series は、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)

目的は、マウスを特定のバーの上に置き、図の出力で始値、高値、安値、終値のラベルを変更することです。ラベルは、bar_open、bar_high、bar_low、および bar_close です。

シンボルチャート

ホバーして各値を表示する方法がわかりません。 mapToPosition は役に立たないようです。

4

1 に答える 1