我有一个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)
的论点会起作用。
答案 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
是颜色。