How can I select programmatically a subplot into a Simulink Data Inspector?

3 次查看(过去 30 天)
I can select number of subplots into a Simulink Data Inspector with:
Simulink.sdi.setSubPlotLayout(1,2)
but I don't know how to select first or second subplot when I check the signal:
Rx = Simulink.sdi.getRunIDByIndex(1); % get the RunID
R = Simulink.sdi.getRun(Rx); % get the RUN
Simulink.sdi.setSubPlotLayout(1,2); % set 2 subplots
for i = 1:R.signalCount % loop for each signal
R.getSignalByIndex(i).checked = true; % check the signal to be drawn
end
Simulink.sdi.view; % display Data Inspector
All signals are plotted into (1,1) subplot. How can I draw some of them into (1,2) subplot?

回答(3 个)

Gillian Rosen
Gillian Rosen 2017-4-11
Unfortunately, it is not currently possible to programmatically select subplots in Simulink Data Inspector. However, there is a MATLAB Central submission that can be used for selecting subplots. Please note that the number of subplots will need to be set manually. In addition, this submission was built for MATLAB R2014b and R2015a, so other versions may throw warnings. You can access this submission at the following link: 
You can also try using the "Saved Views" functionality to plot the signals individually and then load them into your desired view:
This approach will allow you to save the layout, signals, and styling for a view. Then, to load the view into SDI, you can use "Simulink.sdi.loadView('myView')", where 'myView' is an example name for the saved MLDATX file.

Paolo Prandi
Paolo Prandi 2017-4-12
Thanks, I'll try with your suggestion. Do you know if a native implementation is planned?

Robin Pruss
Robin Pruss 2018-3-12
The R2017b version adds this command: plotOnSubPlot
I think it does what you are looking for.

类别

Help CenterFile Exchange 中查找有关 View and Analyze Simulation Results 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by