How do I flip an image without affecting the Y Axis?
조회 수: 5(최근 30일)
표시 이전 댓글
I'm trying to plot the example file using the following code:
input = 'example.txt';
data = readmatrix(input);
filename = input(1:end-4);
filename = [filename '.png'];
x = data(:,3);
v = data(:,9);
id = find(x == 0);
imdata = reshape(v,id(2)-1,)';
im = rot90(imdata,2);
im = fliplr(im);
xdata = 1:1:56;
ydata = 6.3:0.275:19.775;
imagesc(im, 'XData', xdata, 'YData', ydata);
set(gca, 'XTick', (1 : 5 : 56) );
set(gca, 'YTick', (6.3: 1.375 :19.775) ); % plot every 5th tick
Where I would like the red corner of the output plot in the top right, blue corner in bottom left, as per this image:
However the Y axis nees to go from ~6 in the bottom left to ~19 in the top left - the axis in this image are reversed. What am I doing wrong with my code? I've tried using ydata straight, flipping it, etc but that hasn't worked. Whenever I set YDir it always flips the image so that the red in at the bottom, but then the axis looks ok.
Thanks in advance.
댓글 수: 0
Mehmed Saad 2020년 7월 21일
편집: Mehmed Saad 2020년 7월 21일
Use flip (or fliplr,flipud)
imagesc(im, 'XData', xdata, 'YData', ydata);set(gca,'YDir','normal')
imagesc(im, 'XData', xdata, 'YData', fliplr(ydata));set(gca,'YDir','normal')
댓글 수: 1
Find more on Subplots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!