gpt4 book ai didi

python-2.7 - 带分类轴的 3D 图 [Python/Matplotlib]

转载 作者:行者123 更新时间:2023-12-02 03:34:32 24 4
gpt4 key购买 nike

尝试绘制一个 3 维图形:

x 轴 - 值( float )y 轴 - 值( float )z 轴 - 类别(字符串)

现在我尝试使用 pandas.factorize(table.zcolumn) 转换 z 向量

Output: (array([ 0,  0,  0, ..., -1, -1,  1]), Index([u'London', u'National'], dtype='object'))

所以我可以毫无问题地绘制数字。

您会看到有转换为 -1 的 NaN 值,所以当我绘制图表时,有一堆值在 -1 处。数据包含伦敦、国家和 NaN 类别。

如何标记坐标轴以适合我的数据?我觉得应该有一个简单的功能来匹配它。

在 z 轴上,我需要重新分配刻度 -1 变为“NA”,0 变为“伦敦”,1 变为“国家”

我也对使用大量类别执行此操作的方法感兴趣,因此不需要手动输入每个类别字符串的代码

regions = pandas.factorize(dataTable.Region[id_range])
regions_num = regions[0]

fig = plot.figure()
ax = fig.add_subplot(111,projection='3d')
ax.scatter(y, x, zs=regions_num)

ax.axes.set_zticklabels(["London","National","N/A"])

plot.show()

The problem: Z-Axis labels do not match discrete values (at -1, 0, 1)

最佳答案

你只需要将 zticks 设置为对应于你的类别的三个 z 值:

ax.axes.set_zticks(regions_num)

话虽如此,我不认为这实际上是绘制数据的好方法。当您的 X、Y 和 Z 值都是连续变量时,3D 图最有用。如果“区域”是序数变量,则将区域表示为不同的 z 级别可能更有意义,但是有什么理由可以说明为什么 “N/A” 应该比 “更高”国家”? 3D 绘图通常也比 2D 绘图更难阅读 - 例如,由于透视投影,'National' 类别中附近的点可能看起来很像更远的点,但在'N/A' 类别。

更合适的选择可能是将这些数据表示为二维轴上的散点图,不同的颜色对应不同的类别。

关于python-2.7 - 带分类轴的 3D 图 [Python/Matplotlib],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509503/

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