WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   about maplotlib in Vizard (https://forum.worldviz.com/showthread.php?t=5944)

haohaoxuexi1 01-23-2017 12:43 PM

about maplotlib in Vizard
 
Code:

import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt

import time
import random

import viz
import viztask

import vizmatplot

viz.go()

#determine size of arrays (number of samples)
MAX_SIZE_OF_ARRAY = 5000

#create arrays
array_x, array_y = [],[]

#fill array with zeros
for i in range(0,MAX_SIZE_OF_ARRAY):
        array_x.append(0)
        array_y.append(0)
       
###---matplotlib codes---###
fig = plt.figure()        #instantiate pyplot figure
ax = fig.add_subplot(111)        #create axes
ax.axis([0,MAX_SIZE_OF_ARRAY,0,1])        #determine axis limits
line, = ax.plot(array_x,array_y)        #instantiate plot
matplot = vizmatplot.Show(fig)
matplot.showDrawRate(viz.ON)

def plotter():
        """ task that randomly creates y data while incrementing x data"""
        while True:
                #yield None
                for i in range (0,MAX_SIZE_OF_ARRAY):
                        array_x[i] = (i)       
                        array_y[i] = (random.random())       
                        ax.axis([0, MAX_SIZE_OF_ARRAY, 0, 1])        #make sure the axis limits don't change
                        line.set_data(array_x, array_y)        #set the data points
               
                        yield None        #wait at least a frame before setting new data points
                #        yield viztask.waitTime(matplot.rate) #or wait draw rate length calculated in module
               
                for b in range(0,MAX_SIZE_OF_ARRAY):        #clear out the arrays
                        array_x[b] = 0
                        array_y[b] = 0
                        line.set_data(array_x,array_y)        #clear graph by setting all data points to [0,0]                       
       
viztask.schedule( plotter() )

this code comes out an error of "RuntimeError: dictionary changed size during iteration", anyone know how to solve it?

the code was from matplotlib website in Vizard webpage.


All times are GMT -7. The time now is 05:45 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Copyright 2002-2018 WorldViz LLC