def blankGraphicsWidget(cls, alignment="horizontal", num_rows=1, init_zoom_periods=120):
     
     # fplt configuration.
     fplt.max_zoom_points = 5
     fplt.foreground = '#fff' # darkmode
     fplt.background = '#333'
     fplt.display_timezone = gettz('GMT') # time error fix.
 
     # Qt: to return Graphicsview
     graphics_view = QGraphicsView()
     
     if alignment == "horizontal":
         hbox = QHBoxLayout()
     else:
         hbox = QVBoxLayout()
 
     w = fplt.create_plot_widget(graphics_view.window(), rows=num_rows, init_zoom_periods=init_zoom_periods)
     
     list_axs = []
     
     if num_rows == 1:
         list_axs = [w]
     else:
         for i in w:
             list_axs.append(i)
     
     for i in list_axs:
         hbox.addWidget(i.ax_widget)
         i.set_visible(crosshair=True, xaxis=True, yaxis=True, xgrid=True, ygrid=True)
        
     graphics_view.window().axs = list_axs # finplot requres this property
     graphics_view.setLayout(hbox)
     return (graphics_view, w) # graphics view, list of ax
Esempio n. 2
0
 def __init__(self, *args, **kwargs):
     super(MainWindow, self).__init__(*args, **kwargs)
     uic.loadUi('chart.ui', self)
     self.initConnections()
     pg.setConfigOptions(foreground=finplot.foreground, background=finplot.background)
     fp = finplot.FinWindow(title="chart")
     self.ax = finplot.create_plot_widget(fp, init_zoom_periods=100)
     fp.ci.addItem(self.ax, row=0, col=0)
     fp.show_maximized = True
     self.plotWidget.setMaximumHeight(0)
     self.plotWidget.axs = [self.ax]  # finplot requires this property
     self.verticalLayout.addWidget(fp)
     self.dayDateEdit.setDate(datetime.date.today())
     self.priceLine = None
     self.stopPriceLine = None
     self.candleItems = None
     self.df = None
     self.filename = None
     self.isFileFirstOpen = True
     self.hoverLabel = finplot.add_legend('', ax=self.ax)
     finplot.set_time_inspector(self.update_legend_text, ax=self.ax, when='hover')
     finplot.display_timezone = gettz('America/New_York')
Esempio n. 3
0
layout = QGridLayout()
win.setLayout(layout)
win.resize(600, 500)

combo = QComboBox()
combo.setEditable(True)
[
    combo.addItem(i) for i in
    'AMRK FB GFN REVG TSLA TWTR WMT CT=F GC=F ^FTSE ^N225 EURUSD=X ETH-USD'.
    split()
]
layout.addWidget(combo, 0, 0, 1, 1)
info = QLabel()
layout.addWidget(info, 0, 1, 1, 1)

ax = fplt.create_plot_widget(win, init_zoom_periods=100)
win.axs = [ax]  # finplot requres this property
layout.addWidget(ax.ax_widget, 1, 0, 1, 2)


@lru_cache(maxsize=15)
def download(symbol):
    return yf.download(symbol, '2019-01-01')


@lru_cache(maxsize=100)
def get_name(symbol):
    return yf.Ticker(symbol).info['shortName']


plots = []
Esempio n. 4
0
# Create example charts
combo = QComboBox()
combo.setEditable(True)
[
    combo.addItem(i) for i in
    "AMRK FB GFN REVG TSLA TWTR WMT CT=F GC=F ^FTSE ^N225 EURUSD=X ETH-USD".
    split()
]
dock_0.addWidget(combo, 0, 0, 1, 1)
info = QLabel()
dock_0.addWidget(info, 0, 1, 1, 1)

# Chart for dock_0
ax0, ax1, ax2 = fplt.create_plot_widget(master=area,
                                        rows=3,
                                        init_zoom_periods=100)
area.axs = [ax0, ax1, ax2]
dock_0.addWidget(ax0.ax_widget, 1, 0, 1, 2)
dock_1.addWidget(ax1.ax_widget, 1, 0, 1, 2)
dock_2.addWidget(ax2.ax_widget, 1, 0, 1, 2)

# Link x-axis
ax1.setXLink(ax0)
ax2.setXLink(ax0)
win.axs = [ax0]


@lru_cache(maxsize=15)
def download(symbol):
    return yf.download(symbol, "2019-01-01")