Add Legend to Graph - MATLAB & Simulink (2024)

Open Live Script

Legends are a useful way to label data series plotted on a graph. These examples show how to create a legend and make some common modifications, such as changing the location, setting the font size, and adding a title. You also can create a legend with multiple columns or create a legend for a subset of the plotted data.

Create Simple Legend

Create a figure with a line chart and a scatter chart. Add a legend with a description for each chart. Specify the legend labels as inputs to the legend function.

figurex1 = linspace(0,5);y1 = sin(x1/2);plot(x1,y1)hold onx2 = [0 1 2 3 4 5];y2 = [0.2 0.3 0.6 1 0.7 0.6];scatter(x2,y2,'filled')hold offlegend('sin(x/2)','2016')

Add Legend to Graph- MATLAB & Simulink (1)

Specify Labels Using DisplayName

Alternatively, you can specify the legend labels using the DisplayName property. Set the DisplayName property as a name-value pair when calling the plotting functions. Then, call the legend command to create the legend.

x1 = linspace(0,5);y1 = sin(x1/2);plot(x1,y1,'DisplayName','sin(x/2)')hold onx2 = [0 1 2 3 4 5];y2 = [0.2 0.3 0.6 1 0.7 0.6];scatter(x2,y2,'filled','DisplayName','2016')legend

Legends automatically update when you add or delete a data series. If you add more data to the axes, use the DisplayName property to specify the labels. If you do not set the DisplayName property, then the legend uses a label of the form 'dataN'.

Add a scatter chart for 2017 data.

Add Legend to Graph- MATLAB & Simulink (2)

Customize Legend Appearance

The legend function creates a Legend object. Legend objects have properties that you can use to customize the appearance of the legend, such as the Location, Orientation, FontSize, and Title properties. For a full list, see Legend Properties.

You can set properties in two ways:

  • Use name-value pairs in the legend command. In most cases, when you use name-value pairs, you must specify the labels in a cell array, such as legend({'label1','label2'},'FontSize',14).

  • Use the Legend object. You can return the Legend object as an output argument from the legend function, such as lgd = legend. Then, use lgd with dot notation to set properties, such as lgd.FontSize = 14.

Legend Location and Orientation

Specify the legend location and orientation by setting the Location and Orientation properties as name-value pairs. Set the location to one of the eight cardinal or intercardinal directions, in this case, 'northwest'. Set the orientation to 'vertical' (the default) or 'horizontal', as in this case. Specify the labels in a cell array.

x1 = linspace(0,5);y1 = sin(x1/2);plot(x1,y1)hold onx2 = [0 1 2 3 4 5];y2 = [0.2 0.3 0.6 1 0.7 0.6];scatter(x2,y2,'filled')hold offlegend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')

Add Legend to Graph- MATLAB & Simulink (3)

Legend Font Size and Title

Specify the legend font size and title by setting the FontSize and Title properties. Assign the Legend object to the variable lgd. Then, use lgd to change the properties using dot notation.

x1 = linspace(0,5);y1 = sin(x1/2);plot(x1,y1,'DisplayName','sin(x/2)')hold onx2 = [0 1 2 3 4 5];y2 = [0.2 0.3 0.6 1 0.7 0.6];scatter(x2,y2,'filled','DisplayName','2016')hold offlgd = legend;lgd.FontSize = 14;lgd.Title.String = '2016 Data';

Legend with Multiple Columns

Create a chart with six line plots. Add a legend with two columns by setting the NumColumns property to 2.

x = linspace(0,10);y1 = sin(x);y2 = sin(0.9*x);y3 = sin(0.8*x);y4 = sin(0.7*x);y5 = sin(0.6*x);y6 = sin(0.5*x);plot(x,y1,'DisplayName','sin(x)')hold onplot(x,y2,'DisplayName','sin(0.9x)')plot(x,y3,'DisplayName','sin(0.8x)')plot(x,y4,'DisplayName','sin(0.7x)')plot(x,y5,'DisplayName','sin(0.6x)')plot(x,y6,'DisplayName','sin(0.5x)')hold offlgd = legend;lgd.NumColumns = 2;

Add Legend to Graph- MATLAB & Simulink (5)

Include Subset of Charts in Legend

Combine two bar charts and a scatter chart. Create a legend that includes only the bar charts by specifying the Bar objects, b1 and b2, as the first input argument to the legend function. Specify the objects in a vector.

x = [1 2 3 4 5];y1 = [.2 .4 .6 .4 .2];b1 = bar(x,y1);hold on y2 = [.1 .3 .5 .3 .1];b2 = bar(x,y2,'BarWidth',0.5);y3 = [.2 .4 .6 .4 .2];s = scatter(x,y3,'filled');hold offlegend([b1 b2],'Bar Chart 1','Bar Chart 2')

Add Legend to Graph- MATLAB & Simulink (6)

See Also

legend | Legend Properties

MATLAB Command

You clicked a link that corresponds to this MATLAB command:

 

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Add Legend to Graph- MATLAB & Simulink (7)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

Add Legend to Graph
- MATLAB & Simulink (2024)
Top Articles
Latest Posts
Article information

Author: Arielle Torp

Last Updated:

Views: 5785

Rating: 4 / 5 (41 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Arielle Torp

Birthday: 1997-09-20

Address: 87313 Erdman Vista, North Dustinborough, WA 37563

Phone: +97216742823598

Job: Central Technology Officer

Hobby: Taekwondo, Macrame, Foreign language learning, Kite flying, Cooking, Skiing, Computer programming

Introduction: My name is Arielle Torp, I am a comfortable, kind, zealous, lovely, jolly, colorful, adventurous person who loves writing and wants to share my knowledge and understanding with you.