在Matplotlib中使标记边缘相互穿过

时间:2019-01-05 05:30:18

标签: python matplotlib

使用带有常规绘图功能的matplotlib,我可以使标记的边缘彼此穿过,而不是如图所示那样堆叠吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

没有内置选项可将标记的脸色与边缘分开。因此,为了使标记边缘更明显,可以绘制两个图,一个用于面部,另一个在顶部,用于边缘。

import numpy as np; np.random.seed(32)
import matplotlib.pyplot as plt

x = np.arange(30)
y = np.cumsum(np.random.randn(30))

fig, (ax, ax2) = plt.subplots(1,2, figsize=(5.5,2))

## plot
ax.plot(x,y, marker="s", ms=15, color="C3")
ax.plot(x,y, marker="s", ms=15, color="none", mec="black")

## scatter
ax2.scatter(x,y, marker="s", s=15**2, facecolor="C3")
ax2.scatter(x,y, marker="s", s=15**2, facecolor="none", edgecolor="black")


ax.set_title("plot")
ax2.set_title("scatter")
fig.tight_layout()
plt.show()

enter image description here