上次我们了解了如何安装python,建立环境和安装基本包(从0开始的python之旅:你的第一个三体程序)。这次我们将用10行python代码对GEOROC的数据进行简单可视化。
第一步:从GEOROC下载已经统计好的全球汇聚边界岩浆岩数据库(https://doi.org/10.25625/PVFZCE)。文件是zip,解压后,你会看到44个csv文件。为了方便你操作,我已经把这44 个文件组合成了单个csv文件,可以在此下载( georoc数据)。
第二步: 安装pandas和 joypy。pandas用来读取、操作数据。joypy用来生成概率图。pandas可以直接通过Anaconda软件安装(需要在geology环境下安装)。joypy稍微复杂一点。需要以下操作:打开VScode, 工具栏-终端-新建终端。在下方的终端中输入:conda activate geology (这个是激活geology环境,这样安装的包就会在这个环境下)。然后输入conda install -c conda-forge joypy。确认安装。

第三步: VScode,工具栏-文件-新建文件-选择juypter notebook文件,其后缀名为ipynb。键入以下代码,这些代码告诉python,我们需要使用哪些包。
import pandas as pd
import matplotlib.pyplot as plt
from joypy import joyplot
from matplotlib import cm
juypter notebook的好处就是“模块化”编程,点击右上小三角,就可以运行模块里的代码。在“模块”下,点击“+代码”就可以继续增加代码。可以把所有代码写在一个模块里,也可以分段。分段写代码的好处是方便调试。

下一步,读取csv数据文件。注意需要替换下面代码的文件绝对路径。简单清理一下数据,去除空SiO2行,简单化区域名字(取前8个字符)。
# read GEOROC csv file
df=pd.read_csv('/Users/wenrongcao/Documents/pygplates_project/Data/georoc_precompiled_UTF8.csv')
# remove empty SiO2
df=df.dropna(subset=['SIO2(WT%)'])
# simplify region name
df['simple_region'] = df['LOCATION'].str[:8]
下来就是神奇的代码,按区域分类,选择SiO2,做概率图。里面的一些参数,你可以自己调试,看看都能影响什么视觉效果。
fig,axes=joyplot(df, by = 'simple_region', column = 'SIO2(WT%)',colormap=cm.rainbow, grid='both', linewidth=0.8,
fade = True,range_style='own', x_range=[40,80], overlap=1.5, figsize = (10,15))
plt.xlabel('SiO2 (wt%)')
最终图如下,代码总共10行。你可以选择其他成分进行作图。





