HOw to set axis?

12 visualizaciones (últimos 30 días)
tim el 15 de Mzo. de 2016
Hi to everyone, I found the following usefull code on this website, my problem is that I am not able to modify the axis. If I don't change the code at all, the axis limits follow the input values, so if i send some values between 0 and 5 i get thi axis limit, if I send values from 0 to 100 the axis limit change. I need to get fixed axis. For example from 0 to 130 on the y axis. About x axis,it is different. I need this graph to plot how the temperature changes as a function of the time. So each sample that I receive should be plotted in the right time windows, so maybe i need like a timer. Can someone help me on?? at leat with one of my problems?? thank you
function real_time_data_stream_plotting
This example demonstrates how to automatically read a set number of data bytes as and when they are available. This MATLAB® script also generates a real time plot of streaming data collected from the TCPIP server.
The script may be updated to use any instrument/device/TCPIP server to collect real time data. You may need to update the IP address and port.
To generate a report of this entire script, you may use the PUBLISH command at the MATLAB® command line as follows:
% Author: Ankit Desai
% Copyright 2010 - The MathWorks, Inc.
%%Create the interface object
% Create a TCPIP object listening to port 19 (Character Generator).
% *Note* : To enable character generator service at port 19 on a Windows platform, enable:
% Control Panel > Add Remove Programs > Add/Remove Windows Component > Networking Services
interfaceObject = tcpip('localhost',19);
Setup a figure window and define a callback function for close operation
figureHandle = figure('NumberTitle','off',...
'Name','Live Data Stream Plot',...
'Color',[0 0 0],...
Setup the axes
axesHandle = axes('Parent',figureHandle,...
'YColor',[0.9725 0.9725 0.9725],...
'XColor',[0.9725 0.9725 0.9725],...
'Color',[0 0 0]);
xlabel(axesHandle,'Number of Samples');
Initialize the plot and hold the settings on
hold on;
plotHandle = plot(axesHandle,0,'-y','LineWidth',1);
%%Setup interface object to read chunks of data
% Set the number of bytes to read at a time
bytesToRead = 500;
Define a callback function to be executed when desired number of bytes are available in the input buffer
interfaceObject.BytesAvailableFcn = {@localReadAndPlot,plotHandle,bytesToRead};
interfaceObject.BytesAvailableFcnMode = 'byte';
interfaceObject.BytesAvailableFcnCount = bytesToRead;
Open the interface object
%%Implement the bytes available callback
function localReadAndPlot(interfaceObject,~,figureHandle,bytesToRead)
Read the desired number of data bytes
data = fread(interfaceObject,bytesToRead);
Update the plot
%%Implement the close figure callback
function localCloseFigure(figureHandle,~,interfaceObject)
Clean up the interface object
clear interfaceObject;
Close the figure window

Respuestas (0)


Más información sobre Graphics Object Programming en Help Center y File Exchange.


Community Treasure Hunt

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

Start Hunting!

Translated by