在Python中,使用Matplotlib,如何绘制带有空心圆的散点图?目标是在已经绘制的一些彩色圆盘周围绘制空心圆圈scatter(),以便突出显示它们,理想情况下无需重绘彩色圆圈.
我试过facecolors=None,但没有用.
我正在尝试使用具有固定颜色边缘的透明标记在matplotlib中制作绘图.但是,我似乎无法实现透明填充的标记.
我这里有一个最小的工作示例:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y1 = 2*x + 1
y2 = 3*x - 5
plt.plot(x,y1, 'o-', lw=6, ms=14)
plt.plot(x,y2, 'o', ms=14, markerfacecolor=None, alpha=0.5, markeredgecolor='red', markeredgewidth=5)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我尝试了两种在线发现的技术来实现这一目的:1)设置alpha参数.然而,这使得标记边缘也是透明的,这不是期望的效果.2)设置markerfacecolor = None,虽然这对我的情节没有影响
请问有解决方案吗?
我想通过使用 2 个索引 [ChildrenHeight, ParentHeight] 作为分类变量:[性别] 来绘制散点图。然而,我已经厌倦了许多绘制具有不同边缘颜色的空圆的方法。
我努力了:
plt.scatter(X[:, 0], X[:, 1], c=y, marker = 'o',facecolors='none', cmap=plt.cm.Set1)
Run Code Online (Sandbox Code Playgroud)
但它只是给了我一个完整的循环:
鉴于以下情况:
import matplotlib.pyplot as plt
import numpy as np
#http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter
x = np.random.randn(60)
y = np.random.randn(60)
x2 = np.random.randn(60)
y2 = np.random.randn(60)
plt.plot(x, y, marker='o', markeredgecolor='r', linestyle='none', markerfacecolor='none')
plt.plot(x2, y2, marker='o', markeredgecolor='r', linestyle='none', markerfacecolor='none')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我希望将 x2 和 y2 绘制为虚线(甚至虚线)圆圈。我避免使用 plt.scatter 因为我的脚本的其余部分与 plt.plot 一起工作得更好。这是我要找的:

提前致谢!
仅供参考:这是我创建的实际图表。我现在只是使用六边形来表示不同的数据(未来数据)。
自定义图例和在熊猫数据框中的多组行上绘图增加了我无法使用 plt.scatter 克服的复杂性层。
matplotlib ×4
python ×3
scatter ×2
geometry ×1
markers ×1
numpy ×1
plot ×1
scatter-plot ×1
transparency ×1