【问题标题】:Basemap Unable to find pixel distance along axis warning底图无法找到沿轴警告的像素距离
【发布时间】:2016-01-10 03:43:59
【问题描述】:

以下代码 sn-p 产生警告。 csv 有一个经度和纬度列表。 csv 包含大约 800,000 个示例,

import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

fname = "train.csv"
data = pd.read_csv(fname,sep=",",quotechar='"')
minlon=data["X"].min()
maxlon=data["X"].max()
minlat = data["Y"].min()
maxlat = data["Y"].max()


m =Basemap(projection='merc',llcrnrlat=minlat,urcrnrlat=maxlat,llcrnrlon=-minlon,urcrnrlon=maxlon,resolution='c')
m.drawcoastlines()
m.drawmapboundary()
x,y = m(list(data["X"].astype(float)),list(data["Y"].astype(float)))
m.scatter(x,y,1,marker='o',color='red')
plt.show()

地图的显示方式如下:

生成的警告内容如下: UserWarning: Unable to find pixel distance along axis for interval padding of ticks; assuming no interval padding needed. warnings.warn("Unable to find pixel distance along axis "

【问题讨论】:

    标签: python matplotlib matplotlib-basemap


    【解决方案1】:

    根据定义,墨卡托投影在两极附近不起作用,是不是有一些纬度值 -90 度或 90 度?

    【讨论】:

    • maxlat 等于 90。如何指定他们想要放大的地理区域?我想放大 SF。
    • @them00s3 一开始,尝试使用圆柱投影,即projection='cyl'。我不明白你的其余问题,你能更具体一点吗?
    • 我想要一张旧金山的地图并在上面放一个散点图。
    • @TheM00s3 哦,我明白了。但是对于像城市地图这样的地图,底图可能不是一个好的选择,因为它只包含国家和州的边界。当您放大到 SF 时,您可能只会看到一个空画布,可能是美国边境,但没有别的。在这种情况下,我会选择 GoogleMaps 或 OpenStreetMaps——比如http://stackoverflow.com/questions/3059044/google-maps-js-api-v3-simple-multiple-marker-example。标记也可以是可点击的等等。
    猜你喜欢
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多