使用Python创建2D轮廓图的最佳方法

时间:2013-02-11 20:37:46

标签: python numpy matplotlib maps matplotlib-basemap

我正在尝试在Python中创建一个如下所示的2D轮廓图:

Isochemical Contour Map

在这种情况下,它是地图上许多点的化学浓度图。但为了简单起见,我们可以说它的高度。

我得到了地图,在这种情况下562由404px。我得到了一些X& Y在该点与给定值坐标。我没有给予足够的分数来顺利连接线路,有时很少有数据点可以从中获取。我的理解是Spline图应该用于平滑地连接点。

我看到Python中有许多库可以帮助创建与此类似的等高线图。

  1. Matplotlib's Pyplot Contour看起来很有希望。
  2. Numpy也看起来有一些潜力
  3. 但对我来说,我没有看到明显的赢家。我不确定从哪里开始,不熟悉这种编程图形数据。

    所以我的问题是,什么是最好的库?更简单是首选。您可以提供的任何有助于让我以正确的方式开始的见解将是非常棒的。

    谢谢。

3 个答案:

答案 0 :(得分:4)

在您展示的numpy示例中,作者实际上正在使用Matplotlib。虽然有几个绘图库,但Matplotlib是最受欢迎的简单2D绘图。我可能会使用它,除非有令人信服的理由不这样做。

一般策略是尝试在Matplotlib示例库中找到您想要的内容,然后修改源代码。我喜欢的高质量Matplotlib示例的另一个好来源是: http://astroml.github.com/book_figures/

答案 1 :(得分:0)

Numpy实际上是一个N维数组对象,而不是绘图包。 您不需要每个像素都有数据。只需mask您的数据阵列。 Matplotlib将自动绘制它可以的区域并将其他区域留空。

答案 2 :(得分:0)

我也有同样的问题。我发现 matplotlib 有插值,可以用来平滑连接离散的 X-Y 点。

请参阅以下文档,了解对我的帮助: