![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1637376/image.png)
How to plot multiplot with different range of data?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to plot multiplot with different range of data, like x=(0,100,100), y=x^2, and x1=(0,60,60), y1=x1^4. The range of x and x1 should be consistent/overlap throuout the axis.
Alternatively, originally I want to plot the attached data. You can check the attached image to clarify where line 1 (W90) have 450 points in "wan_band.dat" datafile and line 2 (QE) has 251 points in "Pb-bands.dat.gnu" datafile. This data I have plot using gnuplot as shown in image file. I am sharing the code to plot only one set of data for your refernces, as below,
A=importdata("../wan_band.dat");
col1 = A(:,1 );
repeatlength = find(col1(2:end) == col1(1), 1);
x1 = reshape(A(:,1), repeatlength , []); y1 = reshape(A(:,2), repeatlength , []);
x1(end+1,:) = nan ; y1(end+1,:) = nan ;
plot(x1(:), y1(:),'b','DisplayName','E','LineWidth',2,'linestyle','-')
Please give me your suggestions about the same. If there is any information you need, let me know. I will keep waiting for your reply.
0 commentaires
Réponses (1)
Mathieu NOE
le 7 Mar 2024
hello
maybe this ?
I normalized x1 and x2 so both plots would overlay nicely .
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1637376/image.png)
A=readmatrix("wan_band.dat");
[x1,y1] = myreshape(A);
mx1 = max(x1,[],'all');
B=readmatrix("Pb-bands.dat.gnu",'FileType','text');
[x2,y2] = myreshape(B);
mx2 = max(x2,[],'all');
plot(x1(:)/mx1, y1(:),'b','DisplayName','E','LineWidth',4)
hold on
plot(x2(:)/mx2, y2(:),'r*-','LineWidth',0.5)
hold off
function [x,y] = myreshape(data)
repeatlength = find(data(2:end,1) <eps, 1);
x = reshape(data(:,1), repeatlength , []);
y = reshape(data(:,2), repeatlength , []);
x(end+1,:) = nan ;
y(end+1,:) = nan ;
end
Voir également
Catégories
En savoir plus sur Line Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!