循环内带有空圆的散点图
scatter plot with empty circle within loop
我正在寻找一种简单而优雅的方法来制作具有多个数组的散点图,使用空圆圈作为标记颜色应该自动选择。
例如,我可以很容易地制作一个带有实心圆的图:
a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for y in ['2', '3']:
ax.scatter(a[y], a['1'], label=y)
如果我想使用 kwargs facecolor="none"
,标记就会消失。我需要以某种方式自动将颜色分配给 edgecolor
通过C0
、C1
等手动分配边缘颜色,遵循默认调色板:
a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for i, y in enumerate(['2', '3']):
ax.scatter(a[y], a['1'], label=y, facecolor='none', edgecolor=f'C{i}')
您还可以将字符串 o
用作 marker
:
a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for y in ['2', '3']:
ax.scatter(a[y], a['1'], label=y, marker='$o$')
我正在寻找一种简单而优雅的方法来制作具有多个数组的散点图,使用空圆圈作为标记颜色应该自动选择。 例如,我可以很容易地制作一个带有实心圆的图:
a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for y in ['2', '3']:
ax.scatter(a[y], a['1'], label=y)
如果我想使用 kwargs facecolor="none"
,标记就会消失。我需要以某种方式自动将颜色分配给 edgecolor
通过C0
、C1
等手动分配边缘颜色,遵循默认调色板:
a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for i, y in enumerate(['2', '3']):
ax.scatter(a[y], a['1'], label=y, facecolor='none', edgecolor=f'C{i}')
您还可以将字符串 o
用作 marker
:
a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for y in ['2', '3']:
ax.scatter(a[y], a['1'], label=y, marker='$o$')