我正在尝试使用seaborn创建3D点(x,y,z)的彩色气泡图,每个坐标都是[0,255]范围内的整数。我希望轴代表 x 和 y,散点气泡的色调和大小代表 z 坐标。
代码:
import seaborn
seaborn.set()
import pandas
import matplotlib.pyplot
x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200]
y = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200]
z = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200]
df = pandas.DataFrame(list(zip(x, y, z)), columns =['x', 'y', 'z'])
ax = seaborn.scatterplot(x="x", y="y",
hue="z",
data=df)
matplotlib.pyplot.xlim(0,255)
matplotlib.pyplot.ylim(0,255)
matplotlib.pyplot.show()
几乎让我得到了我想要的:
然而,这使得色调范围基于 z 中的数据。相反,我想根据最小和最大 z 值的范围(如 0,255)设置范围,然后让实际点的颜色相应地映射到该范围(因此,如果一个点的 z 值是 50,那么应映射到由 [0,255] 范围内的值 50 表示的颜色。
我总结的问题:
- 如何使用seaborn手动设置散点图中数值变量的色调颜色范围?
我在网上仔细查看了许多教程和论坛,但没有找到答案。我不确定我是否使用了正确的术语。我希望我的信息能够传达出去。