我有三个单独的一维数组,其中包含椭圆表面的数据点。数据点通过C代码生成,并且这些点存储在.CSV文件中。
我想使用matplotlib中的plot_surface函数从这些数据点绘制3D曲面。我首先绘制3D散点图以进行完整性检查,以确保我的数据点属于椭圆体而不是某种随机形状。
然后,我尝试了matplotlib中的plot_surface()函数,并尝试了到目前为止在SO上讨论过的各种方法,您可以在最后给出的代码中看到它们。我将列出两个输出,因为我的低代表不允许我发布所有结果。
此方法在我的代码中的comment 方法-4下实现。我也实现了类似的东西,但是没有unique()函数,它又给了我类似的输出。最后一部分在我的代码的method-3下实现。
此部分在代码中的method-2下实现。如您所见,没有一种方法真正适用于我,尽管散点图确认数据点确实属于椭圆体,但表面图给出了错误的结果。
难道我做错了什么?如果不是,那么您能建议一种替代方法来为我的情况正确绘制3D表面吗?我正在使用的数据可以在以下链接中找到:https : //drive.google.com/file/d/0BwTffmdLhwB3b0JOMXdHYzFTSGc/view?usp=sharing
我正在使用python2.7,OS:ubuntu-14.04。我是python的新手,所以如果您还可以提供解释和解决方案,那将是很棒的。非常感谢你。
'''
Copyright (c) 2016 Abhishek Agrawal (abhishek.agrawal@protonmail.com)
Distributed under the MIT License.
See accompanying file LICENSE.md or copy at http://opensource.org/licenses/MIT
'''
# Set up modules and packages
# I/O
import csv
from pprint import pprint
# Numerical
import numpy as np
import pandas as pd
from scipy.interpolate import griddata
import math
# 3D visualization special package
import mayavi
from mayavi …Run Code Online (Sandbox Code Playgroud)