index='TSA'
#放指数的文件
file=r'C:\Users\LHW\Desktop\南极企鹅与遥相关\企鹅数据\ARCGIS可视化\和各指数的相关性分析\total去掉1979年之前的.xlsx'
#p_values的文件
file1=r'C:\Users\LHW\Desktop\penguin_plot\adelie_pvalues_plot.xlsx'
#企鹅数量的文件
file2=r'C:\Users\LHW\Desktop\南极企鹅与遥相关\企鹅数据\ARCGIS可视化\和各指数的相关性分析\1979后的去趋势相关性分析\adelie_and_index_20210824.xlsx'
#图片输出文件路径
output_path='C:/Users/LHW/Desktop/penguin_plot/画出显著性的那些站点的企鹅数量和指数趋势/'+index+'/'
#读出指数的数据
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import seaborn as sns
sns.set(font='Times New Roman',font_scale=1.5)
mpl.rcParams["font.family"] = 'Times New Roman' #默认字体类型
mpl.rcParams["mathtext.fontset"] = 'cm' #数学文字字体
mpl.rcParams["font.size"] = 15 #字体大小
mpl.rcParams["axes.linewidth"] = 1 #轴线边框粗细(默认的太粗了)
AMM=pd.read_excel(file,sheet_name=index)
AMM=AMM.set_index('year')
#先找出显著性的那些位点
pvalue_data=pd.read_excel(file1)
docu=pvalue_data[pvalue_data[index]<0.1]
site_lower_01=list(docu['site_name'])
for i in range(len(site_lower_01)):
#提取显著性位点的企鹅变化序列
site=site_lower_01[i]
population_data=pd.read_excel(file2)
site_popu_dataframe=population_data[population_data['site_name']==site]
site_popu_data=site_popu_dataframe[['season_starting','penguin_count']]
#将两个数据框合并
#设置索引
site_popu_data=site_popu_data.set_index('season_starting')
summary=AMM.join(site_popu_data)
year=np.array(summary.index)
x=year
y1=summary[index]
y2=summary['penguin_count']
fig = plt.figure(figsize=(12,5))
ax1 = fig.add_subplot(111)
ax1.plot(x, y1,marker='o',label=index)
ax1.set_ylabel(index)
ax1.set_title(index+' and penguin count in '+site)
ax2 = ax1.twinx() # this is the important function
ax2.plot(x, y2, 'r',marker='o',label='penguin count')
# ax2.set_xlim([0, np.e])
ax2.set_ylabel('penguin count')
fig.legend(loc='upper center', bbox_to_anchor=(0.8,0.87))
plt.savefig(output_path+index+site+'.jpg',dpi=300)
注:其中sns.set()函数也有字体和字号的设置。