Python(matplotlib/baseMap):分割故障(核心倾倒)



我遇到了一个简单的Python程序的问题,该程序用于使用matplotlibBasemap绘制地图。我使用Basemap网站上的示例代码:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
m = Basemap(width=12000000,height=9000000,projection='lcc',
            resolution=None,lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.)
m.shadedrelief()
plt.show()

程序崩溃了,我收到以下消息:

分割故障(核心倾倒)

非常有趣的是,将近距离的行更改为:

m.etopo()

导致程序绘制地图。我不知道在哪里可以找到错误。是matplotlib吗?是基础吗?是Python吗?我的系统?有人可以帮忙吗?

我的版本:

python 2.7.3
matplotlib:1.3.1
BASEMAP版本:1.0.7
numpy版本:1.6.1
Linux:Ubuntu 12.04/64位

thanx很多!

我是我的情况,在示例中编译和执行IMShow-example文件夹有助于找到错误。

imshow.cpp

#define _USE_MATH_DEFINES
#include <cmath>
#include <iostream>
#include "../matplotlibcpp.h"
using namespace std;
namespace plt = matplotlibcpp;
int main()
{
    // Prepare data
    int ncols = 500, nrows = 300;
    std::vector<float> z(ncols * nrows);
    for (int j=0; j<nrows; ++j) {
        for (int i=0; i<ncols; ++i) {
            z.at(ncols * j + i) = std::sin(std::hypot(i - ncols/2, j - nrows/2));
        }
    }
    const float* zptr = &(z[0]);
    const int colors = 1;
    plt::title("My matrix");
    plt::imshow(zptr, nrows, ncols, colors);
    // Show plots
    plt::save("imshow.png");
    std::cout << "Result saved to 'imshow.png'.n";
}

就我而言,我尝试绘制一些未分配的内存区域。

相关内容

  • 没有找到相关文章

最新更新