python - 基于矩阵的Python 3D绘图

标签 python dataset mplot3d

我有一个由...创建的数据集

import random

count = []
for i in range(1, 4):
    for j in range(3, 6):
        for k in range(15,19):
            count.append((i, j, k, random.random()))

我想创建 countijk 对的 3D 图表(所以总共 3 个图表)。我在这里查看了示例:http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#surface-plots ,但他们似乎都在动态地创造值(value)。如何绘制我想要的曲面图或网格图?

最佳答案

我必须破折号,但这就是我尝试绘制数据的方式 - count(i,j) 示例 - 请参阅索引切片最后一行左右。如果您需要,很乐意进一步查看。

>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> import random
>>> 
>>> count = []
>>> for i in range(1, 4):
...     for j in range(3, 6):
...         for k in range(15,19):
...             count.append((i, j, k, random.random()))
...             
...         
...     
... 
>>> data = np.array(count)
>>> fig = plt.figure()
>>> ax = fig.gca(projection='3d')
>>> 
>>> # I think this is the sort of thing you want:
>>> 
>>> ax.plot_trisurf(data[:,0], data[:,1], data[:,3])
/usr/local/lib/python2.7/dist-packages/matplotlib/delaunay/triangulate.py:103: DuplicatePointWarni
ng: Input data contains duplicate x,y points; some values are ignored.
  DuplicatePointWarning,
<mpl_toolkits.mplot3d.art3d.Poly3DCollection object at 0x46e8390>
>>> plt.show()

关于python - 基于矩阵的Python 3D绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14986193/

相关文章:

python - Matplotlib 中具有互连的堆叠二维图

python - MatplotLib 3.0.1 中 ax.set_xlabel() 和 ax.xaxis.set_label() 的区别

python - 如何在不使用 For 循环的情况下递归地添加数字?

hashlib.digest() 方法的 Python 解码问题

mysql - 在 SQL 中根据日期组织数据

dataset - LUBM 基准类

python - 设置 matplotlib 3D 图的刻度颜色

python - 如何将句子拆分成相关的词(术语提取)?

jquery - Django/Ajax - 如何根据选择过滤和显示结果

.net - 在运行时将 ADO.Net DataSet 指向不同的数据库?