You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Matplotlib散点图的单个点设置两种颜色?

实现Matplotlib单散点双颜色的方案

你说的叠加实心点和环形的思路完全可行,Matplotlib里虽然没有现成的环形标记,但可以用空心圆来模拟环形,直接叠加两个散点就能达到效果:

import matplotlib.pyplot as plt

point_x = [1]
point_y = [1]
col1 = ['blue']
col2 = ['red']

# 绘制中心实心圆点
plt.scatter(point_x, point_y, c=col1, marker='o', s=100)
# 绘制外围环形:设置facecolor为透明,用edgecolor指定环形颜色,调大尺寸和边缘宽度
plt.scatter(point_x, point_y, c=col2, marker='o', s=150, facecolor='none', markeredgewidth=3)

plt.show()

关键参数说明:

  • 第二个散点的s(尺寸)要大于第一个,保证环形能包裹住中心实心点
  • markeredgewidth控制环形的粗细,按需调整数值即可
  • facecolor='none'让环形中间透明,露出下方的实心点颜色

如果需要更复杂的自定义标记,也可以用matplotlib.path.Path创建专属marker,但上面的方法已经足够简单高效。

内容的提问来源于stack exchange,提问作者Billy Matlock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:35:33