How to plot a graph like this??
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How do I plot a graph like this ??It seems a scatter plot.There are 200 data points for each energy and time value.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1481751/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1481751/image.png)
0 commentaires
Réponse acceptée
dpb
le 13 Sep 2023
Modifié(e) : dpb
le 14 Sep 2023
scatter it is, indeed. From the link, "specify x and y as matrices of equal size. In this case, scatter plots each column of y against the corresponding column of x." and you're done. The legend is in the 'location','northwest' position. The annotation will have to be done with text() but that's straightforward as well; just remember to set hold on to not wipe the plot but add to it.
2 commentaires
dpb
le 14 Sep 2023
Modifié(e) : dpb
le 14 Sep 2023
The original would have had input x and y arrays each with five (5) columns of x,y pairs to make the five separate scatter segments...or, of course, it could be done with five separate calls and hold on, whereas you had/plotted only one data set--or (the image is too small/indistinct for my old eyes to tell for sure) if there are multiple y columns, there was either only a single x vector or at least the x data range covered the same range instead of different ranges as in the original.
x=randi([-20 20],200,5)+[900 1200:500:2700];
y=0.1*abs(randn(size(x)))+[0.8 1.3:0.1:1.6];
scatter(x,y,10,'filled')
xlim([200 2800])
ylim([0.6 2.2]), yticks([1:0.5:2]), ytickformat('%0.1f')
box on
hAx=gca; hAx.XMinorTick='on'; hAx.YMinorTick='on';
legend(compose('%d J/m^2',[10:10:50].'),'location','northwest','Box','off','NumColumns',2)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations 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!