TinyDolphin 2020-05-28
数据分析的是可视化不可或缺的,当学习到利用basemap来绘图时,环境又是恶心人的一件事。。
1.安装
我在谷歌逛了一圈,发现大多人下载必要文件基本使用pip 或者借助包管理器,‘省时省力’原则我选择了后者。
在mac下的家酿是不错的选择,我在官网https://matplotlib.org/basemap/users/installing.html,看了步骤给的十分详细。
然后我使用conda安装,建议也不要一个个文件去下载了,直接:conda install basemap
conda会自动找需要的依赖下载
2.检测
import matplotlib.pyplot as plt %matplotlib inline from mpl_toolkits.basemap import Basemap plt.figure(figsize=(12,9)) m.drawcoastlines(linewidth=1.5) m.drawmapboundary() # 绘制边界 m.fillcontinents() # 填充大陆,发现填充之后无法显示散点图,应该是被覆盖了 m.drawstates() # 绘制州 m.drawcoastlines(linewidth=1.5) # 绘制海岸线 m.drawcountries() # 绘制国家 # m.drawcounties() # 绘制县 plt.show() ‘‘‘关键词 描述 llcrnrlon 所需地图域的左下角经度(度)。 llcrnrlat 所需地图域的左下角纬度(度)。 urcrnrlon 所需地图域右上角的经度(度)。 urcrnrlat 所需地图域右上角的纬度(度)。 projectiont----投影关键字(map样式)‘‘‘
3.error出现
KeyError: ‘PROJ_LIB‘
refer 大佬的解决办法
查完资料,是由于python版本的问题导致的。
直接原因是:系统找不到这个叫做PROJ_LIB的环境变量,所以报错了。
根本原因:调用basemap模块的时候会调用basemap所依赖的proj4模块,所以当时在anaconda上安装basemap模块的时候细心的铁汁可以看到相应的也安装了proj4这个模块。但是最坑的是,anaconda root下安装proj4的时候不会主动给你设置proj4模块的环境变量,所以就导致的现在这样的错误。
解决方案:
方案1) :可以在anaconda下建立一个新环境(env),参考文章:https://blog.csdn.net/weixin_39278265/article/details/82982937
再进行之前的步骤1(安装)和2(验证),就可以了。
方案2):先将Anaconda安装目录下找到proj4的安装路径,我的是在:D:\software\Anaconda\pkgs\proj4-4.9.3-hfa6e2cd_8,然后打开这个文件夹,进入Library -> share 文件夹,将里面的文件全选并复制,粘贴到 D:\software\Anaconda\share\proj 这个文件夹下(如果Anaconda根目录下没有这个proj文件夹,就创建一个)。
方法二 我尝试过,但是注意路径:Library这文件夹没了,下面直接就是share,还有就是依赖版本变了,更具自己具体情况来改变
然后失败了
error原因都是一样的,我才用下面的解决办法:局部更改变量
import os import conda conda_file_dir = conda.__file__ conda_dir = conda_file_dir.split(‘lib‘)[0] proj_lib = os.path.join(os.path.join(conda_dir, ‘share‘), ‘proj‘) os.environ["PROJ_LIB"] = proj_lib #这个好使
然后又有error
缺少file
conda install -c conda-forge basemap-data-hires
这下总于完成了
ps:
conda install -c conda-forge basemap
conda install -c conda-forge/label/gcc7 basemap
conda install -c conda-forge/label/broken basemap
conda install -c conda-forge/label/cf201901 basemap
conda install -c conda-forge/label/cf202003 basemap
2020-05-28
实际上 pip install python3/ 也可以 ,此处需要用他自己 cmd 客户端 , 别选错了 .打开有个 . 这样的原理是虽然你不是用的 > conda install python3/