How to modify titles on plots generated by controlchart(y, 'chart', {'i','mr'})

3 views (last 30 days)
controlchart() uses subplot to generate two charts. After I generated the plots, I realized that I can only change the last subplot and not the first one.
How can I change the titles and x/ylabels of each subplot?
(I think it has something to do with figure handles, but I can't quite figure it, no pun intended.)

Accepted Answer

Mukul Rao
Mukul Rao on 25 Jun 2015
Hi, based on your previous posts, I assume you are working with release R2015a. I would highly recommend spending some time to get acquainted with the graphics object system in MATLAB as it can really empower you to implement more complex workflows. Here are two links to help get you started :
Based on the concepts associated with MATLAB Graphics Objects, you can change the titles of your subplots as shown below with the documented example for control chart.
%%Example from documentation for generating a control chart object
load parts
st = controlchart(runout,'chart',{'xbar' 'r'});
%%Modify this chart to add your own titles
%Get figure handle
figureHandle = gcf;
%Inspect the contents of the figure children
%Notice it contains two axes objects for each of the subplot and
%one legend object
figureHandle.Children
%Now get hold of the axes handles for the subplots
subplotHandle1 = figureHandle.Children(1);
subplotHandle2 = figureHandle.Children(3);
%Finally set the 'String' property associated with the Title text object
%inside the axes object, to your custom string
subplotHandle1.Title.String = 'My title 1';
subplotHandle2.Title.String = 'My title 2';

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!