gpt4 book ai didi

python - 为 matplotlib 散点图中的每个标记提供单独的 zorder 值

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:19 27 4
gpt4 key购买 nike

我有一个带有许多标记的 matplotlib 散点图:

plt.scatter(x_position,y_position,c=z_position,s=90, cmap=cm.bwr,linewidth=1,edgecolor='k')

有时标记会重叠。我希望每个标记的 zorder 基于单个标记的 z_position。

这在散点图中是否可行,或者我是否必须为每个数据点单独画一条线,每个数据点都有自己的 zorder 值?

谢谢。

最佳答案

import numpy as np
import matplotlib.pyplot as plt


x = np.array([0,1,0,1])
y = np.array([0,0,1,1])
z = np.array([8,4,6,2])

如果你现在调用

plt.scatter(x, y, c=z, s=1000, marker="X", 
cmap=plt.cm.bwr, linewidth=1, edgecolor='k')

标记重叠:

enter image description here

数组中的最后一个标记最后绘制,因此 z=2 的标记在前面。

您可以按 z 对数组进行排序以更改外观顺序。

order = np.argsort(z)
plt.scatter(x[order], y[order], c=z[order], s=1000, marker="X",
cmap=plt.cm.bwr, linewidth=1, edgecolor='k')

enter image description here

关于python - 为 matplotlib 散点图中的每个标记提供单独的 zorder 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55929374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com