我正在寻找使用 numpy 网格创建等高线图的最佳方法。
我的列中有 Excel 数据,简单如下所示:
x data values: -3, -2, -1, 0, 1, 2 ,3, -3, -2, -1, 0, 1, 2, 3
y data values: 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2
z data values: 7 , 5, 6, 5, 1, 0, 9, 5, 3, 8, 3, 1, 0, 4
Run Code Online (Sandbox Code Playgroud)
x 和 y 值定义一个 2d 平面,其长度(x 轴)为 7 个值,深度(y 轴)为 2 个值。z 值定义相应点(或多或少是 z 轴)处的颜色。
我试过了:
import matplotlib.pyplot as plt
import numpy …Run Code Online (Sandbox Code Playgroud) 我正在使用Matplotlib创建等高线图.我拥有多维数组中的所有数据.这是12长约2000宽.所以它基本上是12个长度为2000的列表.我的轮廓图工作正常,但我需要平滑数据.我已经阅读了很多例子.不幸的是,我没有数学背景来了解他们的情况.
那么,我该如何平滑这些数据呢?我有一个关于我的图形看起来像什么以及我希望它看起来更像的例子.
这是我的图:

我希望它看起来更相似:

在第二个图中,我需要用什么方法来平滑轮廓图?
我正在使用的数据是从XML文件中提取的.但是,我将显示部分数组的输出.由于数组中的每个元素大约有2000个项目,因此我只会显示一个摘录.
这是一个示例:
[27.899999999999999, 27.899999999999999, 27.899999999999999, 27.899999999999999,
28.0, 27.899999999999999, 27.899999999999999, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.0, 28.100000000000001, 28.100000000000001,
28.0, 28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.0, 27.899999999999999, 28.0,
27.899999999999999, 27.800000000000001, 27.899999999999999, 27.800000000000001,
27.800000000000001, 27.800000000000001, 27.899999999999999, 27.899999999999999, 28.0,
27.800000000000001, 27.800000000000001, 27.800000000000001, 27.899999999999999,
27.899999999999999, 27.899999999999999, 27.899999999999999, 28.0, 28.0, 28.0, 28.0,
28.0, 28.0, 28.0, 28.0, 27.899999999999999, 28.0, 28.0, 28.0, 28.0, 28.0,
28.100000000000001, 28.0, 28.0, …Run Code Online (Sandbox Code Playgroud)