How do I create more than one plot at a time in a script?

1 view (last 30 days)
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

Accepted Answer

Adam Danz
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
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, .......)

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!