在Python 3.6中从CSV绘制经纬度

在Python 3.6中从CSV绘制经纬度,python,google-maps,google-maps-api-3,geolocation,folium,Python,Google Maps,Google Maps Api 3,Geolocation,Folium,我试图从地图上的CSV文件中绘制大量经纬度值,格式如下(第一列和第二列): 我使用的是Python3.6(显然有些库,如Basemap在这个版本上不起作用) 如何才能做到这一点?如果您只是将点数据绘制为散点图,那么 import matplotlib.pyplot as plt plt.scatter(x=df['Longitude'], y=df['Latitude']) plt.show() 如果你想在地图上绘制点,这会变得有趣,因为它更多地取决于你如何绘制地图 一个简单的方法是使用匀称

我试图从地图上的
CSV
文件中绘制大量经纬度值,格式如下(第一列和第二列):

我使用的是Python3.6(显然有些库,如
Basemap
在这个版本上不起作用)


如何才能做到这一点?

如果您只是将点数据绘制为散点图,那么

import matplotlib.pyplot as plt
plt.scatter(x=df['Longitude'], y=df['Latitude'])
plt.show()
如果你想在地图上绘制点,这会变得有趣,因为它更多地取决于你如何绘制地图

一个简单的方法是使用
匀称的
地理命令。鉴于我目前使用的笔记本电脑访问权限有限,下面的代码没有经过测试,但它应该为您提供一个概念性的路线图

import pandas as pd
from shapely.geometry import Point
import geopandas as gpd
from geopandas import GeoDataFrame

df = pd.read_csv("Long_Lats.csv", delimiter=',', skiprows=0, low_memory=False)

geometry = [Point(xy) for xy in zip(df['Longitude'], df['Latitude'])]
gdf = GeoDataFrame(df, geometry=geometry)   

#this is a simple map that goes with geopandas
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
gdf.plot(ax=world.plot(figsize=(10, 6)), marker='o', color='red', markersize=15);
下面是渲染图像的示例:


您还可以使用plotly express绘制交互式世界地图以显示纬度和经度


你是在问使用谷歌地图api的网络地图吗?或者只是一个背景有地图的散点图?对不起…我是说在真实的地图上!这个问题赢得了“热门问题”徽章,但我看到了-2票!!奇怪的世界。对不起…我是说一张真正的地图@蒂纳杰:我为误解道歉。已经更新了答案。无法测试代码在当前笔记本电脑上是否有效,但如果无效,将在以后进行修改。@Xiaoyu Lu,我有3种类型的类。因此,对于每个格子和经度,分配一个类。我怎样才能把3种不同的颜色放在3个不同的班级。i、 e.1级有60%的地理位置,2级有20%,3级有20%的地理位置。这是我的数据结构,df['latitiude','longitude','class']=[53.679886,9.372680,1];类的标签为1,0,2+1。此外,geopandas还有一个包装函数:
points\u from_xy()
,这相当于:
[点(x,y)表示zip中的x,y(df.经度,df.纬度)]
我如何将
naturalearth\u lowres
地图缩放到南非?无需将数据帧头作为链接/图像。您只需将其格式化为代码,并将其与您的答案内联。当然,谢谢。
import plotly.express as px
import pandas as pd

df = pd.read_csv("location_coordinate.csv")

fig = px.scatter_geo(df,lat='lat',lon='long', hover_name="id")
fig.update_layout(title = 'World map', title_x=0.5)
fig.show()