Create scatter plot with histograms (2024)

Create scatter plot with histograms

collapse all in page

  • Create scatter plot with histograms (1)

Syntax

scatterhistogram(tbl,xvar,yvar)

scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar)

scatterhistogram(xvalues,yvalues)

scatterhistogram(xvalues,yvalues,'GroupData',grpvalues)

scatterhistogram(___,Name,Value)

scatterhistogram(parent,___)

s = scatterhistogram(___)

Description

example

scatterhistogram(tbl,xvar,yvar) creates a scatter plot with marginal histograms from the table tbl. The xvar input indicates the table variable to display along the x-axis. The yvar input indicates the table variable to display along the y-axis.

example

scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar) uses the table variable specified by grpvar to group observations specified by xvar and yvar.

example

scatterhistogram(xvalues,yvalues) creates a scatter plot of the data in xvalues and yvalues and displays the marginal histograms for the xvalues and yvalues data along the x-axis and y-axis, respectively.

example

scatterhistogram(xvalues,yvalues,'GroupData',grpvalues) uses the data in grpvalues to group the data in xvalues and yvalues.

example

scatterhistogram(___,Name,Value) specifies additional options for the scatter plot with marginal histograms using one or more name-value pair arguments. Specify the options after all other input arguments. For a list of properties, see ScatterHistogramChart Properties.

scatterhistogram(parent,___) creates the scatter plot with marginal histograms in the figure, panel, or tab specified by parent.

example

s = scatterhistogram(___) returns the ScatterHistogramChart object. Use s to modify the object after you create it. For a list of properties, see ScatterHistogramChart Properties.

Examples

collapse all

Scatter Histogram Chart with Tabular Data

Open Live Script

Create a scatter plot with marginal histograms from a table of data for medical patients.

Load the patients data set and create a table from a subset of the variables loaded into the workspace. Then, create a scatter histogram chart comparing the Height values to the Weight values.

load patientstbl = table(LastName,Age,Gender,Height,Weight);s = scatterhistogram(tbl,'Height','Weight');

Create scatter plot with histograms (2)

Specify Table Variable for Grouping Data

Open Live Script

Using the patients data set, create a scatter plot with marginal histograms and specify the table variable to use for grouping the data.

Load the patients data set and create a scatter histogram chart from the data. Compare the patients' Systolic and Diastolic values. Group the data according to the patients' smoker status by setting the 'GroupVariable' name-value pair argument to 'Smoker'.

load patientstbl = table(LastName,Diastolic,Systolic,Smoker);s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','Smoker');

Create scatter plot with histograms (3)

Visualize Categorical and Numeric Data

Open Live Script

Use a scatter plot with marginal histograms to visualize categorical and numeric medical data.

Load the patients data set, and convert the Smoker data to a categorical array. Then, create a scatter histogram chart that compares patients' Age values to their smoker status. The resulting scatter plot contains overlapping data points. However, the y-axis marginal histogram indicates that there are far more nonsmokers than smokers in the data set.

load patientsSmoker = categorical(Smoker);s = scatterhistogram(Age,Smoker);xlabel('Age')ylabel('Smoker')

Create scatter plot with histograms (4)

Specify Group Data and Customize Chart Properties

Open Live Script

Create a scatter plot with marginal histograms using arrays of shoe data. Group the data according to shoe color, and customize properties of the scatter histogram chart.

Create arrays of data. Then, create a scatter histogram chart to visualize the data. Use custom labels along the x-axis and y-axis to specify the variable names of the first two input arguments. You can specify the title, axis labels, and legend title by setting properties of the ScatterHistogramChart object.

xvalues = [7 6 5 6.5 9 7.5 8.5 7.5 10 8];yvalues = categorical({'onsale','regular','onsale','onsale', ... 'regular','regular','onsale','onsale','regular','regular'});grpvalues = {'Red','Black','Blue','Red','Black','Blue','Red', ... 'Red','Blue','Black'};s = scatterhistogram(xvalues,yvalues,'GroupData',grpvalues);s.Title = 'Shoe Sales';s.XLabel = 'Shoe Size';s.YLabel = 'Price';s.LegendTitle = 'Shoe Color';

Change the colors in the scatter histogram chart to match the group labels. Change the histogram bin widths to be the same for all groups.

s.Color = {'Red','Black','Blue'};s.BinWidths = 1;

Create scatter plot with histograms (5)

Specify Scatter Histogram Chart Appearance

Open Live Script

Create a scatter plot with marginal histograms. Specify the number of bins and line widths of the histograms, the location of the scatter plot, and the legend visibility.

Load the patients data set and create a scatter histogram chart from the data. Compare the patients' Diastolic and Systolic values, and group the data according to the patients' SelfAssessedHealthStatus values. Adjust the histograms by specifying the NumBins and LineWidth options. Place the scatter plot in the 'NorthEast' location of the figure by using the ScatterPlotLocation option. Ensure the legend is visible by specifying the LegendVisible option as 'on'.

load patientstbl = table(LastName,Diastolic,Systolic,SelfAssessedHealthStatus);s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','SelfAssessedHealthStatus', ... 'NumBins',4,'LineWidth',1.5,'ScatterPlotLocation','NorthEast','LegendVisible','on');

Create scatter plot with histograms (6)

Group Data Using Two Variables

Open Live Script

Create a scatter plot with marginal histograms. Group the data by using a combination of two different variables.

Load the patients data set. Combine the Smoker and Gender data to create a new variable. Create a scatter histogram chart that compares the Diastolic and Systolic values of the patients. Use the new variable SmokerGender to group the data in the scatter histogram chart.

load patients[idx,genderStatus,smokerStatus] = findgroups(string(Gender),string(Smoker));SmokerGender = strcat(genderStatus(idx),"-",smokerStatus(idx));s = scatterhistogram(Diastolic,Systolic,'GroupData',SmokerGender,'LegendVisible','on');xlabel('Diastolic')ylabel('Systolic')

Create scatter plot with histograms (7)

Specify Kernel Density Plots

Open Live Script

Create a scatter plot with marginal kernel density histograms.

Load the patients data set. Create a table from the Diastolic, Systolic, and Smoker variables.

load patients.mattbl = table(Diastolic,Systolic,Smoker);

Create a scatter histogram chart that compares the Diastolic and Systolic pressure values of the patients. Use patient smoking status to group the data and display marginal kernel density plots. The plot shows that smokers have higher average systolic and diastolic blood pressure compared to nonsmokers.

s = scatterhistogram(tbl,"Diastolic","Systolic", ... GroupVariable="Smoker",HistogramDisplayStyle="smooth", ... LineStyle="-");

Create scatter plot with histograms (8)

Input Arguments

collapse all

tblSource table
table

Source table, specified as a table.

You can create a table from workspace variables using the table function, or you can import data as a table using the readtable function.

The SourceTable property of the ScatterHistogramChart object stores the source table.

xvarTable variable for x-axis
character vector | string scalar | numeric scalar | logical vector

Table variable for x-axis, specified in one of these forms:

  • Character vector or string scalar — Indicating one of the variable names. For example, scatterhistogram(tbl,'Acceleration','Horsepower') selects the variable named 'Acceleration' for the x-axis.

  • Numeric scalar — Indicating the table variable index. For example, scatterhistogram(tbl,5,3) selects the fifth variable in the table for the x-axis.

  • Logical vector — Containing one true element.

The values associated with your table variable must be of a numeric type or categorical.

The XVariable property of the ScatterHistogramChart object stores the selected variable name.

yvarTable variable for y-axis
character vector | string scalar | numeric scalar | logical vector

Table variable for y-axis, specified in one of these forms:

  • Character vector or string scalar — Indicating one of the variable names. For example, scatterhistogram(tbl,'Acceleration','Horsepower') selects the variable named 'Horsepower' for the y-axis.

  • Numeric scalar — Indicating the table variable index. For example, scatterhistogram(tbl,5,3) selects the third variable in the table for the y-axis.

  • Logical vector — Containing one true element.

The values associated with your table variable must be of a numeric type or categorical.

The YVariable property of the ScatterHistogramChart object stores the selected variable name.

grpvarTable variable for grouping data
character vector | string scalar | numeric scalar | logical vector

Table variable for grouping data, specified in one of these forms:

  • Character vector or string scalar — Indicating one of the variable names

  • Numeric scalar — Indicating the table variable index

  • Logical vector — Containing one true element

The values associated with your table variable must form a numeric vector, logical vector, categorical array, string array, or cell array of character vectors.

grpvar splits the data in xvar and yvar into unique groups. Each group has a default color and an independent histogram in each axis. In the legend, scatterhistogram displays the group names in order of their first appearance in GroupData.

Example: 'Model_Year'

Example: 2

xvaluesValues appearing along x-axis
numeric vector | categorical array

Values appearing along the x-axis, specified as a numeric vector or categorical array.

The XData property of the ScatterHistogramChart object stores the xvalues data.

Example: [0.5 4.3 2.4 5.6 3.4]

Example: categorical({'small','medium','small','large','medium','small'})

yvaluesValues appearing along y-axis
numeric vector | categorical array

Values appearing along the y-axis, specified as a numeric vector or categorical array.

The YData property of the ScatterHistogramChart object stores the yvalues data.

Example: [0.5 4.3 2.4 5.6 3.4]

Example: categorical({'small','medium','small','large','medium','small'})

grpvaluesGroup values
numeric vector | logical vector | categorical array | string array | cell array of character vectors

Group values for the scatter plot and the corresponding marginal histograms, specified as a numeric vector, logical vector, categorical array, string array, or cell array of character vectors.

grpvalues splits the data in xvalues and yvalues into unique groups. Each group has a default color and an independent histogram in each axis. In the legend, scatterhistogram displays the group names in order of their first appearance in GroupData.

Example: [1 2 1 3 2 1 3]

Example: categorical({'blue','green','green','blue','green'})

parentParent container
Figure object | Panel object | Tab object | TiledChartLayout object | GridLayout object

Parent container, specified as a Figure, Panel, Tab, TiledChartLayout, or GridLayout object.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar,'HistogramDisplayStyle','stairs') specifies grpvar as the grouping variable and displays stairstep plots next to the scatter plot.

Note

The properties listed here are only a subset. For a complete list, see ScatterHistogramChart Properties.

Output Arguments

collapse all

s — Scatter plot with histograms
ScatterHistogramChart object

ScatterHistogramChart object, which is a standalone visualization. Use s to modify the object after you create it. For a list of properties, see ScatterHistogramChart Properties.

More About

collapse all

Standalone Visualization

A standalone visualization is a chart designed for a special purpose that works independently from other charts. Unlike other charts such as plot and surf, a standalone visualization has a preconfigured axes object built into it, and some customizations are not available. A standalone visualization also has these characteristics:

  • It cannot be combined with other graphics elements, such as lines, patches, or surfaces. Thus, the hold command is not supported.

  • The gca function can return the chart object as the current axes.

  • You can pass the chart object to many MATLAB functions that accept an axes object as an input argument. For example, you can pass the chart object to the title function.

Tips

  • To interactively explore the data in your ScatterHistogramChart object, use these options. Some of these options are not available in the Live Editor.

    • Zoom/pan — Use the scroll wheel or the + and - buttons to zoom. Click and drag the scatter plot to pan. scatterhistogram updates the marginal histograms based on the data within the current scatter plot limits.

    • Data tips — Hover over the scatter plot or marginal histograms to display a data tip.

  • If you create a scatter plot with marginal histograms from a table, then you can customize data tips for the scatter plot.

    • To add or remove a row from the data tip, right-click anywhere on the scatter plot and point to Modify Data Tips. Then, select or deselect a variable.

    • To add or remove multiple rows, right-click on the plot, point to Modify Data Tips, and select More. Then, add variables by clicking >> or remove them by clicking <<.

Version History

Introduced in R2018b

expand all

Starting in R2024a, you can specify the HistogramDisplayStyle name-value argument as "smooth" without a Statistics and Machine Learning Toolbox™ license.

See Also

Functions

  • table | categorical | histogram | scatter

Properties

  • ScatterHistogramChart Properties

Topics

  • Access Data in Tables

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.

Create scatter plot with histograms (9)

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

Contact your local office

Create scatter plot with histograms (2024)
Top Articles
Latest Posts
Article information

Author: Tuan Roob DDS

Last Updated:

Views: 6760

Rating: 4.1 / 5 (62 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Tuan Roob DDS

Birthday: 1999-11-20

Address: Suite 592 642 Pfannerstill Island, South Keila, LA 74970-3076

Phone: +9617721773649

Job: Marketing Producer

Hobby: Skydiving, Flag Football, Knitting, Running, Lego building, Hunting, Juggling

Introduction: My name is Tuan Roob DDS, I am a friendly, good, energetic, faithful, fantastic, gentle, enchanting person who loves writing and wants to share my knowledge and understanding with you.