如何在3个维度中绘制以下数据? (显然,还有更多!)
data = [[10, 10, 0.84496124031007758],
[10, 20, 0.87209302325581395],
[10, 30, 0.88139534883720927],
[20, 10, 0.86201550387596892],
[20, 20, 0.87441860465116272],
[20, 30, 0.88992248062015500],
[30, 10, 0.87984496124031009],
[30, 20, 0.89922480620155043],
[30, 30, 0.92015503875968996]]
答案 0 :(得分:5)
x,y,z
列表中。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x, y, z = zip(*data)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x,y,z)
plt.show()
答案 1 :(得分:0)
您还可以使用DataMelt http://jwork.org/dmelt。与使用HPlot或HPlotJa或SPlot java类来可视化数据一样,您可以像上一个示例ANF一样以pythonic方式解析此文件。您还可以导出到Esp或pdf图像文件
答案 2 :(得分:0)
基本上是将 projection='3d'
添加到您的子图。
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure() # create new figure
ax = fig.add_subplot(projection='3d') # add 3d plot
n = 100 # number of points
# random points
x = np.random.rand(n)
y = np.random.rand(n)
z = np.random.rand(n)
# make and show plot
ax.scatter(x, y, z)
plt.show()
使用 ax.scatter
,您可以配置点标记、颜色等。