How to add a second x-axis on top in plot?

65 vues (au cours des 30 derniers jours)
Nadatimuj
Nadatimuj le 12 Juil 2021
Modifié(e) : John R le 8 Déc 2021
I think something similar is asked in the forum before and there is a documentation on how to add second a y-axis. But I am not exactly getting what I want. It would be great if someone can help.
I want something very simple. I have x1, x2, and corresponding y. I want to plot y and show x2 at the bottom axis and x1 at the top axis. Please remember, x1 and x2 are related, so x1 = 14 will refer to x2 = 399 and they will plot y =1..and so on.
x1 = [14 16 18 20 22];
x2 = [399 520 675 830 1001];
y =[1 2 3 4 5];
plot(x2,y)

Réponses (2)

Jonas
Jonas le 12 Juil 2021
this may be the function you are searching for
  1 commentaire
Nadatimuj
Nadatimuj le 12 Juil 2021
Thanks but no, not this one. This one requires y1 and y2 that means two seperate plots and the x axes are not related.... But I want only one y plot and two related x-axes for the same plot.

Connectez-vous pour commenter.


John R
John R le 5 Nov 2021
Modifié(e) : John R le 8 Déc 2021
x1 = [14 16 18 20 22];
x2 = [399 520 675 830 1001];
y =[1 2 3 4 5];
t=tiledlayout(1,1);
ax1=axes(t);
set(ax1,'XLim',[min(x1) max(x1)]);
plot(ax1,x1,y)
ax1.XTick=x1;
ax1.YTick=[];
ax1.XTickLabel=x1;
ax2=axes(t);
set(ax2,'XLim',[min(x1) max(x1)]);
plot(ax2,x1,y)
ax2.XAxisLocation='top';
ax2.XTick=x1;
ax2.XTickLabel=x2;

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Tags

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by