【问题标题】:Eliminate mesh / grid lines in python pcolor basemap plot消除python pcolor底图图中的网格线/网格线
【发布时间】:2012-01-06 04:58:27
【问题描述】:

我正在使用 Basemap 和 pcolor 在圆柱投影上绘制标量场。我遇到的问题是绘制了网格线:我不想看到线条,只想看到彩色方块。如果我想要网格线,我会使用 pcolormesh,对吧?

帮助说明设置 edgecolors='none' 应该消除线条(与现在已弃用的 shading='flat' 相同)。就我而言,对于我试图绘制的真实数据,它似乎没有这样做。

我做了一个测试,我在地图的一部分顶部涂了一个小方块:我刚刚制作了一个新的 3x3 随机数组和一些合适的纬度/经度矩阵。在那个小测试补丁中,各个颜色之间的线条不可见(我想要的);我只是不知道为什么,我使用了与真实数据相同的技术。

不需要的网格是黑色的,因为地图背景是黑色的map.drawmapboundary(fill_color='0.05'),其中 'map' 是 Basemap 对象:

map = Basemap(projection='cyl',
              resolution='l', 
              llcrnrlon=lon_min, 
              llcrnrlat=lat_min, 
              urcrnrlon=lon_max,
              urcrnrlat=lat_max)

当我将背景设为白色时,我看到的是白色网格而不是黑色。

我使用的 pcolor 命令是:

mymapim = map.pcolor(mapxvals, mapyvals, datafield, edgecolors='none', vmin=-5, vmax=35, cmap=my_cmap)

'datafield' 是一个掩码数组(不确定掩码是否与它有关)。 'map*vals' 是比数据字段多行和列的矩阵。

所以我花了很多时间试图弄清楚这一点并试图在网络上找到答案,但我想我会借此机会向这个社区提出我的第一个问题。感谢您的任何建议。 (我很久没用python了)。

我试图附上一张显示问题的图片,但在我显然获得一些声誉之前我不能这样做。

塔!

【问题讨论】:

    标签: python


    【解决方案1】:

    我不知道我是否完全理解了你的问题。 Here 是一些关于如何在Basemap 中使用pcolorimshowcontour 的示例。

    【讨论】:

    • 感谢 imsc,我看过这些例子,它们很简洁。我认为 imshow 将是我想要使用的(比 pcolor 快得多),但我无法弄清楚如何让它在我有不规则间距网格的地图投影上工作。轮廓不适合我的目的。
    • 不幸的是,imshow 仅适用于规则间距网格。如果您想要更快的绘图,请尝试在pcolor 中设置rasterized=True。您可以牺牲图像质量来获得速度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 2018-11-05
    • 2021-07-30
    • 2014-04-14
    • 2015-04-17
    • 2016-04-05
    相关资源
    最近更新 更多