How can I slow down the plotting speed?

21 次查看(过去 30 天)
I would like to change the plotting speed of the following code.
I've tried to edit the TimeStamps part like these
subplot(2,1,1)
plot(t1/100,s1)
ylim([-10.0 10.0]);
title('s_1')
subplot(2,1,2)
plot(t1/100,s2)
ylim([-10.0 10.0]);
title('s_2')
xlabel('Time (s)')
but the plotting speed was not changed.
Entire Code
tx = daq.createSession('ni');
s = daq.createSession('ni');
s.Rate = 400000;
ultraFreq = 40000;
numCycle =8
addAnalogOutputChannel(tx, 'Dev1', 'ao0', 'Voltage');
th=addlistener(tx, 'DataRequired', @queueMoreData);
addAnalogInputChannel(s,'Dev1', 'ai0', 'Voltage');
ch = addAnalogInputChannel(s, 'Dev1', 'ai1', 'Voltage');
h = addlistener(s, 'DataAvailable', @plotData);
s.DurationInSeconds(1);
queueOutputData(tx, y');
startBackground(s);
tx.startForeground();
function plotData(src, event)
t1 = event.TimeStamps(:,1);
s1 = event.Data(:,1);
s2 = event.Data(:,2);
subplot(2,1,1)
plot(t1,s1)
ylim([-10.0 10.0]);
title('s_1')
subplot(2,1,2)
plot(t1,s2)
ylim([-10.0 10.0]);
title('s_2')
xlabel('Time (s)')
end
function queueMoreData(src, event)
queueOutputData(tx, y');
end

采纳的回答

KSSV
KSSV 2019-5-1
Read about pause
  2 个评论
horizon
horizon 2019-5-4
I wrote the following code in Python and figured out 'interval' was the variable for the plotting speed in this case.
As you introduced me, I've read the MATLAB document for pause, but I am still troubled with the way to use it on MATLAB.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import itertools
import math
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
def _update(frame, x, y):
"""function to update graph"""
# clear the real time data
plt.cla()
# update and append the data
x.append(frame)
y.append(math.sin(frame))
# rewrite graph
plt.plot(x, y)
def main():
# area to plot
fig = plt.figure(figsize=(10, 6))
# data to plot
x = []
y = []
params = {
'fig': fig,
'func': _update, # function to update graph
'fargs': (x, y), # arguments for the function
'interval': 10, # frequency to update (ms)
'frames': itertools.count(0, 0.1), # itertool to create infinite frames
}
anime = animation.FuncAnimation(**params)
# plot graph
plt.show()
if __name__ == '__main__':
main()

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

产品


版本

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by