Scatter Plot Maker

Paste or enter X and Y values to create a scatter plot. Add a line of best fit and R², or choose Bubble to represent a third variable with circle sizes. Download either chart as PNG or SVG.

Free online tool

Create your scatter or bubble chart

Data stays in your browser
Save / open project

Saved on this device. Browser data deletion can remove charts. Download a project file for a portable backup.

My Charts

Saved on this device · No account required

1. Enter data

Date mode accepts YYYY-MM-DD, YYYY-MM or YYYY and spaces points by elapsed time. Check column choices when importing.

Or drop one file here. Up to 2 MB; nothing is uploaded to a server.

Use X,Y columns, optionally followed by Label and Group. A header row is optional. Commas, tabs, semicolons, and spaces are accepted. Check the column choices in the import preview.

Editable chart data
#XYLabel (optional)Actions
1
2
3
4
5
6
2. Customize
Subtitle, source and footnote

Plain text included in the preview and image exports. Long text wraps and reduces the plot's available space; keep notes brief and use a larger image for detailed captions. No text is sent to analytics.

Colour palette

Keep labels or legends visible; colours alone may not distinguish every series. Colours repeat for larger datasets.

X controls vertical grid lines; Y controls horizontal grid lines. Axis titles and baselines stay visible. These choices also apply to PNG and SVG.

Change the plot’s vertical space. Image height follows this choice; text, point shapes and bubble circles keep their proportions. Legends and annotations retain space.

X-axis: number formatting

Changes display only, including image exports. Exact values stay in the editor. Rounding can make different values look equal; increase decimal places when needed. Regression equations use the original X and Y values.

Y-axis: number formatting

Changes display only, including image exports. Exact values stay in the editor. Rounding can make different values look equal; increase decimal places when needed. Regression equations use the original X and Y values.

X-axis: limits and ticks (Auto)

Leave fields blank for Auto. Enter original data units, not formatted percentages or currency. A custom tick interval starts at the displayed minimum; the maximum need not be a tick.

Optional: up to 21 comma-separated values, in increasing order and inside the axis limits. Exact ticks override the interval; clear this field to use Auto or the saved interval. Data and axis bounds stay unchanged.

Y-axis: limits and ticks (Auto)

Leave fields blank for Auto. Enter original data units, not formatted percentages or currency. A custom tick interval starts at the displayed minimum; the maximum need not be a tick.

Optional: up to 21 comma-separated values, in increasing order and inside the axis limits. Exact ticks override the interval; clear this field to use Auto or the saved interval. Data and axis bounds stay unchanged.

Point appearance

Sizes are relative to the chart’s drawing space and scale with the exported image. Point size is visual styling; it does not represent another value.

Group colours, shapes and legend

Enable group colours or shapes to show the optional Group column. CSV import also offers it. Use up to 12 groups; all valid rows, including cropped points, determine the keys. An entirely blank Group column has no legend. Blank cells beside named groups appear as Ungrouped.

Point label settings and description

Enable Point labels above to display them. Labels avoid other labels, point marks and chart edges; crowded labels may be omitted and long labels shortened. Full text always remains in the data table. Selected labels stay attached when their row is edited.

Included in the chart’s accessible description and SVG. For PNG, add alternative text where you publish the image.

Annotations, references and highlighted range

Add one point callout, one reference per axis and one range band. Enter original X/Y units. Notes never change data, regression, bubble sizes or axes. Off-screen notes are hidden or clipped with a warning. Replacement imports and examples turn notes off for review.

Preview

6 valid points

Scatter plot with 6 valid data points. The full dataset, including values outside any custom view, is available in the data table below.

Hover to inspect; click or tap to pin. Choose any point here with your keyboard, including cropped or zero-size rows. Escape closes details. Downloads exclude this card.

Applies to PNG and SVG downloads. Dark labels work best on light backgrounds. The preview checkerboard is not exported.

Applies to PNG and SVG downloads. The preview matches the image proportions; wider images retain side padding to avoid distortion. SVG stays sharp when resized; some editors may substitute fonts.

Regression equationy = 1.169x + 0.993
R²0.984
View accessible chart data
All valid scatter data points, including any outside custom axis limits
PointXYLabel
112.2A
223.1B
334.8C
445.4D
557.2E
667.8F
Quick guide

How to make a scatter plot

  1. Enter your data. Paste X and Y columns from Excel, Google Sheets, or a CSV file. You can also edit individual rows in the table.
  2. Label the chart. Add a descriptive title and say what each axis measures, including units where they matter.
  3. Choose the analysis. Turn on the line of best fit, regression equation, R² value, grid, or individual point labels. Optional X/Y limits and tick intervals change the view, not the data used for regression; blank fields keep Auto.
  4. Export the result. Review the preview and accessible data table, then select Download PNG or Download SVG. SVG scales without pixelation and keeps text editable; some graphics editors may substitute fonts.

What is a scatter plot?

A scatter plot, also called a scatter graph or XY graph, displays pairs of numerical values as points. Each point has a horizontal X value and a vertical Y value. Plotting many pairs makes it easier to see whether two variables tend to change together, whether the relationship is weak or strong, and whether any observations sit far away from the rest.

For example, X might represent hours studied and Y might represent a test score. An upward pattern would suggest that higher study time is associated with higher scores. The chart shows association, however, not proof that one variable caused the other.

How to read a scatter plot

First look at the direction of the point cloud. A pattern rising from left to right is a positive association; a falling pattern is a negative association. If points do not form a clear direction, the variables may have little linear association. Next consider how tightly the points group around an imagined line. Tighter grouping usually indicates a stronger relationship.

Also check the scale and labels on both axes. A restricted range can make a pattern look stronger or weaker than it is. Look for clusters, curved patterns, gaps, and outliers before reducing the data to one summary number.

When to use a bubble chart

A bubble chart adds a third numerical variable to a scatter plot. X and Y still determine position; circle area represents Size. For example, compare study hours and test scores for groups of students, with group size shown by each bubble. Change the Size label to name the measure you are using.

X,Y,Size,Label
2,65,20,Group A
4,78,40,Group B
6,86,30,Group C

Choose Bubble before pasting this format. A size of 40 produces twice the area of 20, not twice the radius. The size legend uses the same scale as the plotted bubbles. Sizes are relative within each chart, so compare the legend before comparing separate charts.

Zero-size rows stay in the accessible table without a visible circle. Missing, negative, or malformed sizes are not plotted. Very small bubbles can be difficult to see; use the table for exact values. Overlaps do not represent summed values. Switch back to Scatter for unweighted linear regression of X and Y.

Line of best fit, regression equation, and R²

A line of best fit summarizes a roughly linear pattern. This tool calculates the ordinary least squares regression line, written as y = mx + b. The slope m estimates how much Y changes when X increases by one unit. The intercept b is the predicted Y value when X equals zero, although that interpretation may not be meaningful if zero lies outside the observed range.

R², or the coefficient of determination, ranges from 0 to 1 for this fitted model. A value near 1 means the line explains a large share of the observed variation in Y. A lower value means the straight line does not describe the points as closely. R² does not tell you whether the relationship is causal, whether a curved model would work better, or whether the data collection was sound.

When should you use a scatter plot?

Explore a relationship

Compare two numerical measurements, such as height and weight, price and demand, or temperature and energy use.

Find unusual observations

Spot points that are separated from the main cluster and may deserve investigation.

Check a linear model

See the raw pattern before relying on a correlation coefficient or regression result.

A scatter plot is not the best choice for comparing category totals or showing parts of a whole. Those questions are usually clearer with a bar, column, or pie chart. Time-series data may be easier to follow with a line graph, especially when the order between points matters.

Scatter plot maker FAQ

Can I make a bubble chart with three variables?

Yes. Choose Bubble under Chart style, then enter X, Y, and Size, with an optional Label column. Each circle’s area is proportional to Size: 40 has twice the area of 20. Sizes must be non-negative, with at least one positive value. Zero-size rows remain in the data table but have no visible bubble. Regression is available in Scatter mode only.

Can I make a scatter plot from a table?

Yes. Paste two columns from a spreadsheet or CSV file, or enter X and Y values in the editable table. An optional third column can contain point labels.

How is the line of best fit calculated?

The tool uses ordinary least squares linear regression. It finds the straight line that minimizes the sum of the squared vertical differences between the data points and the line.

What does R² mean on a scatter plot?

R² describes how much of the variation in Y is explained by the fitted linear relationship with X. Values closer to 1 indicate a stronger linear fit, but do not prove causation.

Is my data uploaded?

No. The data you enter is parsed, calculated, and drawn locally in your browser. ChartMaker does not send your chart values to a server.

Can I download the scatter plot?

Yes. Select Download PNG to save a high-resolution image without a watermark or signup. Download SVG saves vector shapes and editable text in both Scatter and Bubble modes.

Learn with examples

Lessons and printable worksheets

Practise with original sample data, worked answers, and free classroom worksheets.