Matplotlib Plot Dashed Circles(使用plt.plot而不是plt.scatter)

时间:2016-12-12 19:24:04

标签: python matplotlib markers

鉴于以下内容:

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()

我希望将x2和y2绘制为虚线(或甚至虚线)圆圈。我正在避免使用plt.scatter,因为我的其余脚本更好地使用了plt.plot。 这是我正在寻找的: enter image description here

提前致谢!

供参考: 这是我创建的实际图表。我现在只使用六边形来表示不同的数据(未来的数据)。

enter image description here

自定义图例和绘制pandas数据框中的行组,增加了我无法用plt.scatter克服的复杂层。

1 个答案:

答案 0 :(得分:4)

您可以使用here

使用STIX字体(带有所有符号mathtext functionality的pdf)的虚线圆圈(ur'$\u25CC$'
 plt.plot(x, y, marker=ur'$\u25CC$', markerfacecolor='r', 
                markeredgecolor='r', markersize=30, linestyle='none', )

请注意,markerfacecolor也设置为颜色。

缺点是它们需要一定的大小才能与封闭的圆圈区分开来。