问题:在 matplotlib 中使用散点图,是否有一种简单的方法获得半填充的标记?
我知道使用线图可以轻松完成半填充标记,但我想使用“散点图”,因为我想使用标记大小和颜色(即替代标记面颜色)来表示其他数据。(我相信使用散点图会更容易,因为我想从大数据集中自动绘制大量图。)
我似乎无法使用散点图正确制作半填充标记。也就是说,绘图显示的是标记的一半,而不是半填充的标记。我一直在使用 matplotlib.markers.MarkerStyle,但这似乎只能让我成功一半。我可以使用下面的代码获得以下输出。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.markers import MarkerStyle
plt.scatter(1, 1, marker=MarkerStyle('o', fillstyle='full'), edgecolors='k', s=500)
plt.scatter(2, 2, marker=MarkerStyle('o', fillstyle='left'), edgecolors='k', s=500)
plt.scatter(3, 3, marker=MarkerStyle('o', fillstyle='right'), edgecolors='k', s=500)
plt.scatter(4, 4, marker=MarkerStyle('o', fillstyle='top'), edgecolors='k', s=500)
plt.scatter(5, 5, marker=MarkerStyle('o', fillstyle='bottom'), edgecolors='k', s=500)
plt.show()
Run Code Online (Sandbox Code Playgroud)