How can I create a variable number of arrays and plot in the same image?

2 次查看(过去 30 天)
Hi,
I'm trying to plot some txt files which have two columns, 'a' and 'b' as an image. 'a' is a variable that always counts from 0 to some number 'n', repeatedly 'k' number of times. 'b' is a value I'd like to assign to a pixel in the image. I've included a sample file to try and demonstrate this, where n = 4 and k = 3.
Ideally I would like to plot an image such that the number 'b' varies the colour of the pixel, with the x coordinate of the pixel determined by the value of 'a' and the y cordinated determined by the cycle through 'a', up to 'k'. Even writing this is a little confusing, so I hope this diagram will clarify how I would like the data to be plotted (using the example.txt file, where i've substituted the colour for just the value 'b').
However, I'm very confused as to how I can firstly calculated the number of times 'a' cycles (k), and secondly how I could either create one large array of size 'n' by 'k' to feed into the image() function. Is there a fast way of doing this, without needing to alter the code every runtime? My actual files are very large and I have hundreds of files, each with different 'n' and 'k' values - would I need some dynamic to accomodate this?
Thanks in advance.

采纳的回答

jonas
jonas 2020-7-16
编辑:jonas 2020-7-16
Something like this?
data = readmatrix('example.txt')
x = data(:,1);
v = data(:,2);
id = find(x == 0);
im = reshape(v,id(2)-1,[])'
image(im)

更多回答(1 个)

Image Analyst
Image Analyst 2020-7-16

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by