Skip to content
Snippets Groups Projects
Commit 32384fbf authored by Michael DM Dryden's avatar Michael DM Dryden
Browse files

Test interface working with plot integrated into main window.

parent 7ba75caa
Branches
Tags
No related merge requests found
......@@ -7,10 +7,11 @@
objects = {
/* Begin PBXFileReference section */
5F87883C19072E86007B53E0 /* mpltest.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = mpltest.py; sourceTree = "<group>"; };
5FCB541B190591CD00CEB148 /* interface */ = {isa = PBXFileReference; lastKnownFileType = folder; path = interface; sourceTree = "<group>"; };
5FCB541D1905923800CEB148 /* interface_test.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = interface_test.py; sourceTree = "<group>"; };
5FCB54231905B6EE00CEB148 /* dstat_comm.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = dstat_comm.py; sourceTree = "<group>"; };
5FDC0DFD18FDAD79003F857A /* main.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = main.py; sourceTree = "<group>"; };
5FDC0DFD18FDAD79003F857A /* mpl.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = mpl.py; sourceTree = "<group>"; };
5FDC1E4218FF9572007AD04D /* glade1.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = glade1.py; sourceTree = "<group>"; };
/* End PBXFileReference section */
......@@ -18,10 +19,11 @@
5FDC0DF218FDACDA003F857A = {
isa = PBXGroup;
children = (
5F87883C19072E86007B53E0 /* mpltest.py */,
5FCB541D1905923800CEB148 /* interface_test.py */,
5FCB54231905B6EE00CEB148 /* dstat_comm.py */,
5FCB541B190591CD00CEB148 /* interface */,
5FDC0DFD18FDAD79003F857A /* main.py */,
5FDC0DFD18FDAD79003F857A /* mpl.py */,
5FDC1E4218FF9572007AD04D /* glade1.py */,
);
sourceTree = "<group>";
......
......@@ -393,10 +393,12 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkLabel" id="label4">
<object class="GtkHBox" id="plotbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">label</property>
<child>
<placeholder/>
</child>
</object>
</child>
<child type="tab">
......
......@@ -21,6 +21,8 @@ import interface.acv as acv
import interface.pd as pd
import dstat_comm as comm
import mpltest
class Error(Exception):
pass
......@@ -36,6 +38,10 @@ class InputError(Error):
self.expr = expr
self.msg = msg
class testData:
def __init__(self):
self.x = [1,2,3,4,5]
self.y = [1,2,3,4,5]
class main:
def __init__(self):
......@@ -56,8 +62,15 @@ class main:
self.acv = acv.acv()
self.pd = pd.pd()
self.data = testData()
self.plotbox = mpltest.plotbox(self.data)
self.error_context_id = self.statusbar.get_context_id("error")
self.plotwindow = self.builder.get_object('plotbox')
self.plotbox.canvas.reparent(self.plotwindow)
#fill exp_section
self.exp_section = self.builder.get_object('exp_section_box')
self.chronoamp_container = self.chronoamp.builder.get_object('scrolledwindow1')
......
......@@ -2,10 +2,14 @@
import sys, serial, io
import numpy as np
import matplotlib
from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas
import gtk
from time import sleep
from collections import deque
from matplotlib import pyplot as plt
# class that holds analog data for N samples
class AnalogData:
# constr
......@@ -39,6 +43,7 @@ class AnalogPlot:
# set plot to animated
plt.ion() #interactive mode on
plt.autoscale(True,True,True)
self.line = plt.plot(analogData.ax,analogData.ay)
# update plot
......
#!/usr/bin/env python
"""
show how to add a matplotlib FigureCanvasGTK or FigureCanvasGTKAgg widget to a
gtk.Window
"""
import gtk
from matplotlib.figure import Figure
from matplotlib import pyplot as plt
from numpy import arange, sin, pi
# uncomment to select /GTK/GTKAgg/GTKCairo
#from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas
#from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas
class plotbox:
def __init__(self, xyData):
plt.ion()
plt.autoscale(True,True,True)
self.figure = Figure(figsize=(5,4), dpi=100)
self.axe1 = self.figure.add_subplot(111)
self.line1, = self.axe1.plot(xyData.x, xyData.y)
self.canvas = FigureCanvas(self.figure)
self.win = gtk.Window()
self.win.add(self.canvas)
def update(self, xyData):
self.line1.set_ydata(xyData.y)
self.line1.set_xdata(xyData.x)
self.axe1.relim()
ax.autoscale_view()
self.figure.canvas.draw()
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment