plot with points in file

16 views (last 30 days)
Roger Nadal
Roger Nadal on 10 Dec 2019
Commented: dpb on 11 Dec 2019
i have text file and have to create a function that will read a file which contain x and y cordinates for the data points and which will create a stem plot using n points random.
  8 Comments
Roger Nadal
Roger Nadal on 10 Dec 2019
I am reading file using fopen but on x axis the points I want is total number of points in the file and after passing suppose n=20 it should plot 20 random points but the x axis should not changed

Sign in to comment.

Answers (2)

dpb
dpb on 11 Dec 2019
Edited: dpb on 11 Dec 2019
Well, still kinda' difficult to figure out exactly what is wanted, but as near as I can make out, something like;
t=readtable('file.txt'); % read the file
t=t(:,[2 4]); % get rid of the two x,y character columns
t.Properties.VariableNames={'x','y'}; % name two columns appropriately
% preliminaries out of way, the engine
nr=size(t,1); % rows in dataset
n=20; % arbitrary number points to plot initially and to choose randomly
ix=sort([1:n randperm(nr-n,n)+n]); % build the indexing vector of first n and n random thereafter
figure
stem(t.x(ix),t.y(ix)) % and stem() plot those...
QED
  20 Comments
dpb
dpb on 11 Dec 2019
My understanding is he's actually wanting |xlim([0 x(end)]) regardless, so that's what I recommended above earlier.
But, expectations are so nebulous and getting information like pulling hens' teeth so I just said "salt to taste" this time...
Reminds of a DOE manager I worked for as consultant lo! those many years ago. I characterized working for him as being instructed "Bring me a rock!" When the rock was delivered, it was always "No, not that rock!" but could never say just which variety/size/shape/color of rock was desired until, finally, he either ran out of budget or (usually) would after third or fourth iteration suddenly decide the first or second was actually the one he was looking for after all... :)

Sign in to comment.


Bandar
Bandar on 11 Dec 2019
Assume data stored in this form
1 23
2 34
3 54
The code is
file = load('data.txt');
n=3;
x=file(randi(10,1,n),1); % 10:max 1:min n: points number
y=file(x,2);
stem(x,y)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by