Technical Implementation of Scatter Plots with Hollow Circles in Matplotlib

Nov 18, 2025 · Programming · 14 views · 7.8

Keywords: Matplotlib | Scatter Plot | Data Visualization | Python Plotting | Hollow Circles

Abstract: This article provides an in-depth exploration of creating scatter plots with hollow circles using Python's Matplotlib library. By analyzing the edgecolors and facecolors parameters of the scatter function, it explains how to generate outline-only circular markers. The paper includes comprehensive code examples, compares scatter and plot methods, and discusses practical applications in data visualization.

Introduction

In the field of data visualization, scatter plots are among the most commonly used chart types for displaying relationships between two variables. Matplotlib, as the most popular plotting library in Python, offers extensive customization options for scatter plots. In certain scenarios, there is a need to add hollow circle markers to existing solid scatter points to highlight specific data points without redrawing the entire chart.

Core Parameter Analysis

Matplotlib's scatter() function provides two key parameters: facecolors and edgecolors, which control the fill and border styles of scatter points. When facecolors='none' is set, the scatter points will have no fill, displaying only the border outline. The edgecolors parameter can be used to specify the color of the border.

Basic Implementation Method

Below is the fundamental code implementation for creating a scatter plot with hollow circles:

import matplotlib.pyplot as plt
import numpy as np

# Generate random data
x = np.random.randn(60)
y = np.random.randn(60)

# Create scatter plot with hollow circles
plt.scatter(x, y, s=80, facecolors='none', edgecolors='r')
plt.show()

In this code, s=80 sets the size of the scatter points, facecolors='none' ensures no internal fill color, and edgecolors='r' sets the border to red.

Alternative Method Comparison

In addition to the scatter() function, the plot() function can also achieve similar effects:

plt.plot(np.random.randn(100), np.random.randn(100), 'o', mfc='none')

Here, 'o' specifies circular markers, and mfc='none' (marker face color) creates the hollow effect. However, this method is less flexible than scatter() in controlling marker size and border styles.

Advanced Application Scenarios

In practical data analysis, hollow circle scatter plots are commonly used in the following scenarios:

Parameter Detail Explanation

The facecolors parameter accepts various value formats:

Similarly, the edgecolors parameter supports the same color formats and can be set to 'none' to completely hide the border.

Performance Optimization Recommendations

When handling large-scale datasets, it is advisable to:

Conclusion

By effectively utilizing Matplotlib's facecolors and edgecolors parameters, various styles of hollow circle scatter plots can be easily created. This technique not only enhances chart readability but also provides more visualization options for data analysis and presentation. In practical applications, the most suitable implementation method should be chosen based on specific requirements.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.