py语言号称胶水,最重要的是他的库包,可是我们在notebook里面引用库包的时候会出现类似报错:

python种植气象公式 python气象绘图入门_数据


nuister这个包是我虚构的,(因为常用的库包我已经装上了,总不能为了演示卸载了 *囧* )如果没有找到指定的库包就会显示这个错误。 anaconda平台下推荐conda安装所需要的库包。Python有一个pip命令也能安装,但是我和某些气象家园的同学上过当,pip显示安装好了,但是在编程的时候还是无法引用。所以不如一劳永逸的用conda安装。 (一)、conda界面在前面的开始界面下:

python种植气象公式 python气象绘图入门_python输完怎么运行_02


在Jupyter Notebook上面有一个Anaconda Prompt。打开后是命令行模式黑窗口,输入conda list可查看当前安装的库包:

python种植气象公式 python气象绘图入门_python种植气象公式_03


输完后跳出默认安装的库包,你在安装anaconda时,基础包会一起安装好:

python种植气象公式 python气象绘图入门_python输完怎么运行_04


比较典型的基础库如numpy、pandas是预置好了的,你需要安装的主要是matplotlib、cartopy、netCDF4等非预置库包:

conda install matplotlib


之后会弹出y\n的选项,点y就行了,当然,这之后是漫长的等待,系统会缓慢的进行下载安装,运气差的时候会安装不上,不要灰心,明天再来一次。(或许给你电脑挪一下位置有奇效,此时或许可以唯心一下,请 三清下界 ) 都好了之后可以在编程中引用一下检验是否安装好:

python种植气象公式 python气象绘图入门_python种植气象公式_05


什么都没发生,那再好不过了,说明该安装的库包都安装上了,可以进入下一步了。 (二)、正式编程第一步——引用库包 气象数据可视化主要依靠matplotlib做绘图,其他库包为辅助,包括数据处理的,地理信息处理的等等。 在py中编程,第一步是引用库包-就是import语句

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport cartopy.crs as ccrs from cartopy.io.shapereader import Reader

可以看出,有两种常用的引用方式:

  • 一种是import整个库包,as 后面表示将这个库包缩写为某某。例如第三行,每次引用matplotlib.pyplot都要全写一次显然是我这个懒人不能接受的,将他简化为plt,下次引用时不必全写了。是不是缩写随意呢?理论上你自己编写的程序只要你能读懂,可随意缩写,    但是从可读性的角度来说,为了将来请教别人debug时别把大神气走了,还是应该按照约定俗成的缩写方式进行。
  • 还有一种from···import···语句,表示从这个库包里面只引用这一部分。


        当然,每次绘图时需要的库包不尽相同,在需要的时候进行修改是最好的。比如上面的from cartopy.io.shapereader这一句,一般在自定义地图的时候需要读取你指定的地图文件才会引用,如果绘制全球海岸线,用默认设置即可,此条语句可删去。 (三)、正式编程第二步——引入画布

python种植气象公式 python气象绘图入门_折线图_06

在引用完需要的库包工具之后,下一步该干嘛呢?没有白纸如何作画,所以下一步应该先设定自己的作图纸:

fig=plt.figure()

现在我们就已经创建了一张画布,figure里有两个常用语句,一个是figsize=(),一个是dpi.

figsize=(a,b)语句里面有两个参数,分别设置画布的长和宽,单位为英寸。

dpi为图像解析度,过低的话会使图像模糊不清。下面用一个小程序来展示其作用

######引入库包############import matplotlib.pyplot as pltimport numpy as np######虚拟数据########x=np.linspace(0.05,10,1000)y=np.cos(x)######画布############fig=plt.figure(figsize=(3,3),dpi=200)#####画图#############plt.plot(x,y,ls="-",lw="2")plt.show()

这张图相当于matplotlib里面的“Hello World”(dpi=200)

python种植气象公式 python气象绘图入门_折线图_07


那么来改变一下dpi看看会发生什么(dpi=20):

python种植气象公式 python气象绘图入门_数据_08


这大概能生动展示dpi语句的作用了。 但是有个警告:过高dpi会使出图缓慢,特别是数据比较大时。建议将dpi调至合适位置。 (四)、常用的绘图命令 基础的常用绘图命令有折线图(plot)、柱状图(bar)、条形图(barh)、散点图(scatter)、直方图(hist)、饼图(pie)、箱线图(boxplot)等等。 但是我觉得直方图在绘制不超过12个数据时实在颜值过低,饼图在气象数据可视化方面很少见到。就不讲了。(其实是想鸽了) 下面先讲折线图:

plt.plot(x,y,lw=,ls=,c=,alpha=)


(x,y)表示其在坐标轴的位置,lw为线条宽度设定,ls为线条样式设定c为颜色,alpha为透明度设定。

lw=1

python种植气象公式 python气象绘图入门_数据_09

lw=5

python种植气象公式 python气象绘图入门_折线图_10

ls='-'(实线)

python种植气象公式 python气象绘图入门_python种植气象公式_11

ls='--'(断线)

python种植气象公式 python气象绘图入门_数据_12

ls='-.'(点虚线)

python种植气象公式 python气象绘图入门_数据_13


ls=':'

python种植气象公式 python气象绘图入门_折线图_14

c='r'(红色)

python种植气象公式 python气象绘图入门_数据_15

c='k'(黑色)

python种植气象公式 python气象绘图入门_饼图_16

c='y'(黄色)

python种植气象公式 python气象绘图入门_python种植气象公式_17

alpha=0.5

python种植气象公式 python气象绘图入门_python种植气象公式_18

alpha=0.1

python种植气象公式 python气象绘图入门_python种植气象公式_19

基本上常用的就是这些了。要注意的是黑色black和蓝色blue开头都是b,所以设定k代表黑色。代码贴在下面:

#########引用库包##############   ‘#’符号在py中代表注释,不会被编译import matplotlib.pyplot as pltimport numpy as np#########设定画布##############fig=plt.figure(figsize=(3,3),dpi=200)########虚构数据#############x=list(np.arange(1,21))y=np.random.randn(20)#######线图命令###############plt.plot(x,y,lw=4,ls='-',c='b',alpha=0.1)plt.plot()########show出图形###########plt.show()########保存图片###########fig.savefig("画布")

py绘图基本流程都是这样没有库包无法调用程序,没有画布无法作画,没有数据无法下笔,没有绘图命令只能输出一张白纸。