Exemplo n.º 1
0
    def __init__(self, vispy_canvas, a, b, d=None):

        self.a = a
        self.b = b

        self.t = (a[0] + b[0]) / 2
        if d is None:
            self.d = vispy_canvas.spectra[-1].delta
        else:
            self.d = d
        self.width = abs(a[0] - b[0])
        self.f = (a[1] + b[1]) / 2
        self.height = abs(a[1] - b[1])
        self.spec_center = (self.t, self.f)
        self.speed_center = (self.t, self.d)
        self.rect = scene.Rectangle(center=(self.t, self.f),
                                    width=self.width,
                                    height=self.height,
                                    radius=0,
                                    parent=vispy_canvas.spec_view.scene)
        self.rect.color = (1, 1, 1, .5)
        self.rect.transform = vispy_canvas.spectra[-1].mel_transform
        self.rect.set_gl_state('additive')
        self.selected = False
        self.vispy_canvas = vispy_canvas
        self.initialize()
Exemplo n.º 2
0
    def _plot_candle_stick(self, data):
        time = data["time"]
        open = data["open"]
        high = data["high"]
        low = data["low"]
        close = data["close"]

        width = data["time_frame"] * 0.8

        bullish = close > open
        height = abs(open - close)
        center = (time, open + height * 0.5 if bullish else open - height * 0.5)
        rect = None
        if height > 0:
            rect = scene.Rectangle(center=center, height=height, width=width, color = "green" if bullish else "red",
                                   border_color="black", border_width=200.0)
            rect.interactive = True
            self.view.add(rect)
        else:
            line_empty_body = scene.Line(pos=np.array([[time - width*0.5, close], [time + width*0.5, close]]), color="black", width=2.0)
            self.view.add(line_empty_body)
        line_high = scene.Line(pos=np.array([[time, close if bullish else open], [time, high]]), color="black", width=2.0)
        line_low = scene.Line(pos=np.array([[time, open if bullish else close], [time, low]]), color="black", width=2.0)
        self.view.add(line_high)
        self.view.add(line_low)
        return rect if rect is not None else line_empty_body
Exemplo n.º 3
0
    def __init__(self, vispy_canvas, a, b, d=None):

        color_def = (1, 1, 1, .5)
        color_sel = (0, 0, 1, 1)
        BaseMarker.__init__(self, vispy_canvas, vispy_canvas.lag_samples,
                            color_def, color_sel)
        self.parents = (self.vispy_canvas.spec_view.scene, )

        self.a = a
        self.b = b

        if d is None:
            self.d = vispy_canvas.spectra[-1].delta
        else:
            self.d = d
        self.width = abs(a[0] - b[0])
        self.t = (a[0] + b[0]) / 2
        self.f = (a[1] + b[1]) / 2
        self.height = abs(a[1] - b[1])
        self.spec_center = (self.t, self.f)
        self.speed_center = (self.t, self.d)

        # create & store visual
        rect = scene.Rectangle(center=(self.t, self.f),
                               width=self.width,
                               height=self.height,
                               radius=0,
                               parent=vispy_canvas.spec_view.scene)
        rect.color = (1, 1, 1, .5)
        rect.transform = vispy_canvas.spectra[-1].mel_transform
        rect.set_gl_state('additive')
        self.visuals.append(rect)

        self.initialize()
Exemplo n.º 4
0
 def draw_field(self):
     field = scene.Rectangle(center=(0, 0), width=10, height=7,
                             color=green, parent=self.view.scene)
     center_circle = scene.Ellipse(center=(0, 0), radius=1.3 / 2, color=green, border_color=white, border_width=2,
                                   parent=self.view.scene)
     center_line = scene.Line(pos=np.array([[0, 3.5], [0, -3.5]]), width=2, color=white, parent=self.view.scene)
     goals = scene.Line(pos=np.array([[-4.5, 1.3], [-4.5, -1.3], [4.5, 1.3], [4.5, -1.3]]), connect='segments',
                        width=2, color=white, parent=self.view.scene)
Exemplo n.º 5
0
    def __init__(self, bus_object, canvas, color='r'):
        pos = bus_object.position

        self.repr = scene.Rectangle(pos=pos,
                                    height=100,
                                    width=40,
                                    color=color,
                                    radius=10,
                                    border_color='#545454',
                                    parent=canvas.central_widget,
                                    antialias=True,
                                    method='agg')
Exemplo n.º 6
0
    def __init__(self,
                 data,
                 color=None,
                 fs=25e3,
                 spklen=19,
                 ncols=1,
                 gap_value=0.8 * 0.95,
                 ls='-',
                 time_slice=0):
        scene.SceneCanvas.__init__(self, keys=None)
        self.unfreeze()

        self.data = data
        self.fs = fs
        self.spklen = spklen
        self.grid1 = self.central_widget.add_grid(spacing=0,
                                                  bgcolor='gray',
                                                  border_color='k')
        self.view2 = self.grid1.add_view(row=0,
                                         col=0,
                                         col_span=36,
                                         margin=10,
                                         bgcolor=(0, 0, 0, 1),
                                         border_color=(0, 1, 0))
        self.view2.camera = scene.cameras.PanZoomCamera()
        self.view2.camera.set_range()
        self.cursor_color = '#0FB6B6'
        self.cursor_text = scene.Text("",
                                      pos=(0, 0),
                                      italic=False,
                                      bold=True,
                                      anchor_x='left',
                                      anchor_y='center',
                                      color=self.cursor_color,
                                      font_size=24,
                                      parent=self.view2.scene)
        self.cursor_text_ref = scene.Text("",
                                          pos=(0, 0),
                                          italic=True,
                                          bold=False,
                                          anchor_x='left',
                                          anchor_y='center',
                                          color=(0, 1, 1, 1),
                                          font_size=24,
                                          parent=self.view2.scene)

        self.cursor_rect = scene.Rectangle(center=(0, 0, 0),
                                           height=1.,
                                           width=1.,
                                           radius=[0., 0., 0., 0.],
                                           color=(0.1, 0.3, 0.3, 0.5),
                                           border_width=0,
                                           border_color=(0, 0, 0, 0),
                                           parent=self.view2.scene)
        self.cursor_rect.visible = False
        self.palette = palette
        self._gap_value = gap_value
        self._locate_buffer = 200
        self._picker = Picker(self.scene, self.view2.camera.transform)

        wav_visual = scene.visuals.create_visual_node(MyWaveVisual)
        self.waves1 = wav_visual(ls=ls,
                                 parent=self.view2.scene,
                                 color=color,
                                 gap=self._gap_value)

        self.grid2 = self.view2.add_grid(spacing=0,
                                         bgcolor=(0, 0, 0, 0),
                                         border_color='k')
        self.cross = Cross(cursor_color=self.cursor_color)
        self.timer_cursor = app.Timer(connect=self.update_cursor,
                                      interval=0.01,
                                      start=False)
        self.event = EventEmitter()