mac 下 basemap 安装,以及踩的一些小坑
数据分析的是可视化不可或缺的,当学习到利用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
原文地址:https://www.cnblogs.com/cheflone/p/12983901.html
- WordPress 注册页面显示自定义提示信息
- Windows Server 2008密码重设盘
- Dynamite动态排序库
- WordPress 顶部管理工具条添加自定义栏目
- WordPress 在后台文章和页面列表显示对应的ID
- WordPress 修改默认的 wp_ 数据库前缀
- WordPress自动在uploads文件夹内创建子文件夹
- MP6 Light:浅色型的扁平化WordPress 后台管理界面
- WiX安装选项--环境变量
- 加速!缓存Python函数的运行结果:Memoization
- WiX安装选项--注册程序集到GAC和VS的设计时环境
- 5 款前沿的WordPress主题后台选项开发框架推荐
- es6 class
- WiX安装选项---开始菜单项
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle 表分区笔记
- Java并发编程
- 让终端支持https,移植OpenSSL和libcurl到嵌入式linux,遇到的问题总结
- ComplexHeatmap|根据excel表绘制突变景观图(oncoplot)
- R-plotly|甘特图(Gantt chart)- 一不小心年中了,立个flag
- XXE漏洞那些事儿(JAVA)
- Hexo 建站过程
- Tidyverse|tidyr数据重塑之gather,spread(长数据宽数据转化)
- fastjson中的jndi注入
- R|生存分析-结果整理
- 实验吧-因缺思汀的绕过
- MySQL 用户与授权管理详解
- 基本知识|R语言简单饼图的绘制
- 分享一个有趣且牛逼的漏洞
- ggplot2-annotation|画图点“精”,让图自己“解释”