如何在matplotlib中计算散点图标记的大小

时间:2019-05-27 22:04:11

标签: python matplotlib

假设我创建了一个简单的matplotlib散点图。

然后如何在散点图上画点之间的线?意味着这条线将在点的边缘开始和结束?

编辑:忘记添加代码段

import matplotlib.pyplot as plt


plt.scatter([0, 0, 0], [5, 3, 4], s=250)
plt.scatter([3, 3, 3], [5, 3, 4], s=350)

plt.arrow(0, 5, dx=3, dy=0, width=0.01)
plt.arrow(0, 3, dx=3, dy=0, width=0.01)
plt.arrow(0, 4, dx=3, dy=0, width=0.01)
plt.show()

enter image description here

如何从dx减去以仅从边缘连接点

1 个答案:

答案 0 :(得分:0)

您可以摆弄点的大小,但这不是解决问题的方法。一种更好的方法是在绘制一条线之后再绘制点,以便将这些点放置在顶部。

这可以通过zorder来实现。在您的示例中,这看起来像

import matplotlib.pyplot as plt


plt.scatter([0, 0, 0], [5, 3, 4], s=250, zorder=2)
plt.scatter([3, 3, 3], [5, 3, 4], s=350, zorder=2)

plt.arrow(0, 5, dx=3, dy=0, width=0.01, zorder=1)
plt.arrow(0, 3, dx=3, dy=0, width=0.01, zorder=1)
plt.arrow(0, 4, dx=3, dy=0, width=0.01, zorder=1)
plt.show()

这会产生情节

a scatter plot in which the circles cover lines


顺便说一句,如果您只想在点之间画线,那么您可能也不会寻找arrow。您只是在寻找plot