How do I create more than one plot at a time in a script?
1 view (last 30 days)
Show older comments
We are taking multiple measurements from multiple instrument channels. I would like to create a histogram of values by channel, then another histogram of all of the data combined. How do you create more than one plot in a script? I'm attaching my code, it creates a single plot of the combined data.
for angle = 90:10:270
rows = nonInvData.actAngle == angle & nonInvData.orientation == orientation;
dataVals = nonInvData(rows, ["channel","pa13"]);
for chn = 0:39
rows = dataVals.channel == string(chn);
data = dataVals(rows, "pa13");
h(angle) = histogram(data.pa13,20,'DisplayName',string(chn),"BinMethod","integers")
hold on
end
hold off
legend show
h(angle+1) = histogram(dataVals.pa13,20,'DisplayName',string(chn),"BinMethod","integers")
end
0 Comments
Accepted Answer
Adam Danz
on 15 Apr 2019
Edited: Adam Danz
on 17 Apr 2019
Create the different axes prior to your loops. Then specify which axes should be used for each histogram. Here's an example that produces two axes (subplots) within one figure (you could also produces them in different figures).
figure
ax1 = subplot(2,1,1);
ax2 = subplot(2,1,2);
histogram(ax1, .......)
histogram(ax2, .......)
To put them in separate figures
figure
histogram(...)
figure
histogram(...)
2 Comments
Adam Danz
on 17 Apr 2019
I updated my answer to demonstrate separate figures.
Another alternative:
figure
ax1 = axes();
figure
ax2 = axes();
histogram(ax1, .......)
histogram(ax2, .......)
More Answers (0)
See Also
Categories
Find more on Data Distribution Plots 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!