有没有办法将这个函数应用到 Altair 散点图上?

Is there a way to apply this function onto an Altair scatter plot?

我希望我可以将此 draw_vector 函数应用于 Altair 散点图而不是 matplotlib。我在解决方法时遇到问题。我们将不胜感激您的专业知识!

def draw_vector(v0, v1, ax=None):
    ax = ax or plt.gca()
    arrowprops=dict(arrowstyle='->',
                    linewidth=2,
                    shrinkA=0, shrinkB=0)
    ax.annotate('', v1, v0, arrowprops=arrowprops)

# plot data
plt.scatter(X[:, 0], X[:, 1], alpha=0.2)
for length, vector in zip(pca.explained_variance_, pca.components_):
    v = vector * 3 * np.sqrt(length)
    draw_vector(pca.mean_, pca.mean_ + v)
plt.axis('equal');

以上代码生成的内容供参考:

我认得那个图表

不幸的是,在构建 Altair 的渲染库 Vega-Lite 中,实际上并没有任何对箭头的支持,因此对于使用 Altair 渲染箭头并没有什么好的解决方案。您可以在该功能的跟踪问题中看到一些解决方法:https://github.com/altair-viz/altair/issues/914