python matplotlib - 如何绘制3 + 1维数据?

时间:2018-05-14 06:05:02

标签: python matplotlib

我有一个4维数组。前3个维x, y, z是分类整数变量,其值范围为[-3,3]。它们的组合是唯一的,即2行中没有相同的x, y, z值。最后一个维度value是一个连续的正浮点变量。例如:

x    y    z    value
0    0    0    1.0
1    0    1    2.5
-1   1    -1   0.3
3    2    1    0.06

我想在python中使用matplotlib可视化数组。该图将是一个以x, y, z为轴的三维图,每个数据点将为一个球体,球体的半径为value。我以前只在Tableau中完成了这个。我怎么能用python做到这一点?

P.S。在value不一定是正面的情况下,除了上述问题之外,我还想知道如何使用颜色作为value符号的指示符。虽然我认为color=sign(value)的论点会起作用。

1 个答案:

答案 0 :(得分:0)

我根据@ {tnknepp在Plotting 4d-data

中的答案进行了整理

代码简单如下:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(111, projection='3d')

sp = ax.scatter(x,y,z, s=value, c=color)
plt.colorbar(sp)

其中s是气泡的大小,c是颜色。