weixin_46344791 2020-07-02 09:56 采纳率: 83.3%
浏览 226
已采纳

用basemap生成的地图里面什么也没有

图片说明
这个是我生成的地图,里面路网都没有呢,shp文件我用得是我自己裁剪的一个北京的路网数据,里面没有路网是因为我裁剪的问题还是我代码的问题呢?

代码我参考了https://blog.csdn.net/qq_34862636/article/details/101602504#comments_12692153
下面是代码

# -*- coding: utf-8 -*-

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

#-----底图绘制
matplotlib.rcParams['toolbar'] = 'None'
fig = plt.figure(figsize=(8, 8), edgecolor='w')


m = Basemap(projection='merc', #投影方式
            llcrnrlon=116.55,#起始经度116 
            llcrnrlat=40.25, #起始纬度 
            urcrnrlon=116.80, #终止经度117
            urcrnrlat=40.8,#终止纬度41
            resolution='h',#设置边界的详细程度,h是高
            )

island_col = '#FFDEAD' #陆地颜色
line_col = 'purple' #轨迹颜色
m.fillcontinents(color = island_col,lake_color = 'white')

m.drawparallels(np.arange(24,41,0.05),labels=[1,1,0,1])
m.drawmeridians(np.arange(112,120,0.05),labels=[1,1,0,1])

shp_info = m.readshapefile("wuhuan",'states',drawbounds=True) 

#-----数据读取
posi = pd.read_csv('first_car.csv',header = 0, names = ['name','lng','lat'])
num = len(posi) 
lng = posi["lng"].values # 获取经度值
lat = posi["lat"].values # 获取纬度值

x,y = m(lng,lat)

#-----轨迹绘制
#散点
m.scatter(x, y, s=1, c='r', alpha=0.7, zorder=10)

#连线
#m.plot(x,y,marker=None,color = line_col,linewidth = 1)
plt.show()
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-07-02 12:18
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题