Python Can';t在bokeh的瓷砖上绘制点
下面的示例使用经度和纬度在瓷砖上绘制一些点。这是我的密码Python Can';t在bokeh的瓷砖上绘制点,python,pandas,dictionary,bokeh,Python,Pandas,Dictionary,Bokeh,下面的示例使用经度和纬度在瓷砖上绘制一些点。这是我的密码 from bokeh.plotting import figure, show, output_notebook from bokeh.tile_providers import CARTODBPOSITRON p = figure(x_axis_type="mercator", y_axis_type="mercator") p.add_tile(CARTODBPOSITRON) p.circle(x = us['Evt_Latitud
from bokeh.plotting import figure, show, output_notebook
from bokeh.tile_providers import CARTODBPOSITRON
p = figure(x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(CARTODBPOSITRON)
p.circle(x = us['Evt_Latitude__c'],
y = us['Evt_Longitude__c'])
output_notebook()
show(p)
尽管一步一步地遵循代码,但我的点并没有绘制在美国瓷砖上,而是绘制在没有州名、分界等的灰色瓷砖上。见附件,但您可以看到美国的形状,并意识到地理位置实际起了作用
我做错了什么?试着用这些行来代替:
from bokeh.tile_providers import get_provider, Vendors
tile_provider = get_provider(Vendors.CARTODBPOSITRON)
p.add_tile(tile_provider)
如果这不起作用,请查看您的Web Mercator格式是否适合
这是一个从十进制到墨卡托的转换器
def wgs84_to_web_mercator(df, lon="x", lat="y"):
"""Converts decimal longitude/latitude to Web Mercator format"""
k = 6378137
df["x"] = df[lon] * (k * np.pi/180.0)
df["y"] = np.log(np.tan((90 + df[lat]) * np.pi/360.0)) * k
return df
希望能有所帮助。很快,瓷砖似乎没有上路。您是否在封闭/空腔网络上?浏览器JS控制台或网络活动窗格中是否有任何错误?谢谢,确实错误在于坐标没有更改为mercator。。