DotPlot is an open-source application for creating publication-quality plots with individual data points. It accepts tab-separated data pasted directly from applications such as Microsoft Excel and Graphpad Prism, and provides extensive customization options for styling and data presentation.
- Simple by design (a limitation, not really a feature): DotPlot does not include a built-in data editor. Data must be pasted directly from the clipboard.
- Supports both bar plots and box plots.
- Generated plots can be saved as SVG or PNG, or copied directly to the clipboard.
- Data can be plotted using either all raw data points or the means of repeated measurements.
- Fully customizable colors with over 40 built-in color themes.
- Full support for transparency (opacity).
- Adjustable spacing, gap sizes, and line widths.
- SVG files preserve all original data and style settings. Special care has been taken to retain this information when images are copied from Microsoft Office applications and pasted back into DotPlot.
- Download and install the free Delphi Community Edition.
- Download the source code of DotPlot.
- On the top-right panel, change Target Platform to Windows 32-bit or Windows 64-bit.
- Hit F9 to run.
- Download and install the free Delphi Community Edition.
- Set up for MacOS Application Development following Delphi help.
- Download the source code of DotPlot.
- On the top-right panel, change Target Platform to MacOS 64-bit (for Intel Macs) or MacOS ARM 64-bit (for Apple silicon Macs).
- Hit F9 to run.
After completing these steps, you can launch DotPlot normally.
- Download the ZIP package from the latest release.
- Extract the downloaded ZIP file.
- Run DotPlot.exe.
No installation or 3-party apps are required.
- Download the DMG package from the latest release.
- Double-click the downloaded DMG file to mount it.
- Copy DotPlot to your desired location.
- A security warning may appear because the application is not signed with an Apple Developer account (which I don't have).
- Go to the Apple menu, open "System Settings" → "Privacy & Security", and scroll down to the "Security section".
- Ensure that "Allow applications downloaded from" is set to "App Store or App Store and identified developers".
- Below it, you should see a message indicating that "DotPlot was blocked because it is not from an identified developer". Click "Open Anyway".
- Click Open in the confirmation dialog.
After completing these steps, you can launch DotPlot normally.
Data must be tab-separated, allowing direct copy-and-paste from spreadsheet applications such as Microsoft Excel and Graphpad Prism.
Data are organized into groups and subgroups:
- Each group can contain up to six subgroups.
- Each subgroup can contain multiple repeats.
- Each repeat can contain multiple data points.
Groups and subgroups are identified either by labels or by empty columns. The following dataset is interpreted as two groups, each containing three subgroups.
The following dataset is also interpreted as two groups, each containing three subgroups.
Both datasets produce the same plot:
The following dataset contains the same numerical values as the previous example. However, because the labels are omitted, DotPlot initially interprets the data as a single group with six subgroups. When there is only one unlabeled group, DotPlot automatically converts the subgroups into individual groups.
The resulting plot becomes:
Repeats are separated by empty cells within a column. In the examples above, there are three repeats (indicated by two empty rows), and each repeat contains four data points.
Dotplot can display all individual data points (n=12).
By enabling "Means only", DotPlot displays the mean value of each repeat instead (N=3).
Note that each repeat can have a different number of data points, and the empty cells need NOT be aligned. Also, empty rows/columns before and after Repeats do not need to contain the same number of data points, and empty cells do not need to be vertically aligned.
Additionally, empty rows and columns before or after the dataset are ignored. Therefore, it is unnecessary to copy the exact data range.
The following datasets are perfectly valid.
When using box plots with the 1.5 IQR, points within the whisker range can be hidden by disabling "All points". Only outliers are shown.
Individual subgroups can be hidden by clearing the corresponding checkbox. The example below shows the plot with Subgroup 2 hidden.
The same dataset can generate a wide variety of visual styles.
Most plot appearance settings are controlled from the panels located in the lower-left corner of the application.
- Size: Controls the width and height of the plot area. Plot dimensions are automatically adjusted when data are pasted. Enable Lock to prevent automatic resizing.
- Y-Range: Sets the Y-axis range and tick interval.
- Labels: Controls the font and size of Y-axis labels.
- Themes: Applies preset color themes to subgroups.
- Error bar: One of the most important settings. It determines whether the plot is displayed as a bar plot or a box plot and controls how variability is represented.
- Means only: Displays either all data points or only the mean values of repeats.
- All points: When using a box plot with the 1.5 × IQR method, determines whether all points or only outliers are displayed.
- Background: Toggles the white background on or off.
- Gaps: Adjusts spacing between groups, subgroups, and symbols.
- Symbols: Controls the visibility, shape, color, size, and line width of data-point symbols for each subgroup.
- Column: Controls the visibility, stroke color, fill color, and gradient settings of bars or boxes.
- Line settings: Controls the color and line width of axis lines, tick marks, and grid lines.
All data and style settings are embedded directly in generated SVG files (but not PNG files) within the <def> tag. The <metadata> tag is intentionally not used because Microsoft Office, and potentially other applications, may remove metadata when images are copied through the clipboard.
There are several ways to reuse saved SVG files:
- Drag and drop an SVG file onto the data area to load its data.
- Drag and drop an SVG file onto the settings panel to load its style settings.
- Drag and drop an SVG file onto the plot preview to load both the data and the style settings.
For images already embedded in Microsoft Powerpoint or Microsoft Word,
- Copy the image to the clipboard.
- In DotPlot, right-click the plot area.
- Choose the appropriate paste option from the context menu.






