Ok, so what I needed to do was

A = Data((1:20),(1:5))

B = flip(A,1)

C = Data((21:40),(1:5))

D = flip(C,1)

And then

New = cat(1,B,D)

2 views (last 30 days)

Show older comments

Hi, I have a plot that I want its X-axis to be reversed. My data on X-axis is showing as

[1 2 3 4 5 6 7 8 9 10 11 12] I want to reverse it in a way that it represents [6 5 4 3 2 1 12 11 10 9 8 7] (reversing it from the middle for two seperate parts). How is it possible? I tried set(gca, 'XDir','reverse') but it reverses it to [12 11 10 9 8 7 6 5 4 3 2 1]. I cannot share the code or data due to confidentiality. Thanks in advance.

Dorna
on 4 Jun 2023

Star Strider
on 4 Jun 2023

Edited: Star Strider
on 4 Jun 2023

O.K.

That seems to be essentially what I wrote, although in one column not five. You can use my approach to plot it.

VBBV
on 3 Jun 2023

Use xticklabels function to modify the order of axis labels

x1 = {'6','5','4','3','2','1'};

x2 ={'12','11','10','9','8','7'};

plot(rand(1,12))

xticks(1:12)

xticklabels([x1,x2])

VBBV
on 3 Jun 2023

Edited: VBBV
on 3 Jun 2023

can you explain why you DONT want to actually work with plot data but still want to flip ordered x-axis values ?

v = [16 5 9 4 2 11 7 14];

v2 = v([5:8 1:4]) % Extract and swap the halves of v

% flip the values for vector v

v2 = flip(v)

% another way

v2 = v([8:-1:5 , 4:-1:1])

How can I make the V2 to be [14 7 11 2 4 9 5 16], can I use prime on 5:8'?

You can use the flip function to get the desired result as shown above

Star Strider
on 3 Jun 2023

One approach that changes the x-axis and the data —

xv = [1 2 3 4 5 6 7 8 9 10 11 12]; % Independent Variable

yv = (xv/max(xv)).^2; % Dependent Variable

xvi = [6 5 4 3 2 1 12 11 10 9 8 7]; % Indexing Vector

figure

plot(xv, yv)

grid

xticks(xv)

title('Original')

Vectors = [xv(xvi); yv(xvi)]

figure

plot(xv, yv(xvi))

grid

xticks(xv)

xticklabels(xv(xvi))

title('Reversed & Concatenated')

It may be challenging to elliminate the connecting line between 1 and 12 here. If necessary, that would require putting a NaN value at the beginning or end of the ‘xv’ and ‘yv’ vectors, and adjusting ‘xvi’ accordingly.

.

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

Start Hunting!