python画每年月平均折线图

# -*- coding: utf-8 -*-
"""
Time:Created on Thu Jul  6 15:30:59 2023
Author: Liangshuang
Desc:
"""
import matplotlib.pyplot as plt
import numpy as np
from pyhdf.SD import SD
import netCDF4 as nc
from netCDF4 import Dataset
import seaborn as sns
import os
import datetime
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
i=0
av0=[]
av1=[]
av2=[]
av3=[]
av4=[]
av5=[]
av6=[]
av7=[]
av8=[]
av9=[]
av10=[]
av11=[]
if __name__ == '__main__':   
    path= r"F:\L3\555//"  #设置存储路径
    files= os.listdir(path) #得到文件夹下的所有文件名称
    file_path=sorted(files)
    for file in file_path:  #按照顺序在 files 里面进行每一个文件的 数据名称 循环读取
       f1 = file.split('.')
       f2 = f1[1].split('_')
       f3 = list(f2[0])       
       dataset = nc.Dataset(path+file)   # 打开第一个文件
       data1 = dataset.variables['lat'][:]
       data2 = dataset.variables['lon'][:]
       # data3 = dataset.variables['aot_869'][:]
       # data3 = dataset.variables['chlor_a'][:]
       # data3 = dataset.variables['angstrom'][:]*0.0001+2.5
       data3 = dataset.variables['Rrs_555'][:]     
       print('---------------------------------1----------------------------------------')
       t1=data3[1220:1221,7179:7180]#TJ
       t2=data3[1289:1290,7216:7217]#QD
       t3=data3[1306:1307,7191:7192]#LYG
       t4=data3[1449:1450,7324:7325]#ZS
       t5=data3[1594:1595,7143:7144]#XM
       t6=data3[1649:1650,6994:6995]#BH
       t7=data3[1679:1680,7070:7071]#HK
       t8=data3[1719:1720,6930:6931]#SY     
       T1=np.nanmean(t1) 
       if (f3[2]=='1' and f3[3]=='2'):           
             av0.append(T1)
       elif(f3[2]=='1' and f3[3]=='3'):
            av1.append(T1)
       elif(f3[2]=='1' and f3[3]=='4'):
            av2.append(T1)
       elif(f3[2]=='1' and f3[3]=='5'):
            av3.append(T1)
       elif(f3[2]=='1' and f3[3]=='6'):
            av4.append(T1)
       elif(f3[2]=='1' and f3[3]=='7'):
            av5.append(T1)                
       elif(f3[2]=='1' and f3[3]=='8'):
            av6.append(T1)                    
       elif(f3[2]=='1' and f3[3]=='9'):
            av7.append(T1)                        
       elif(f3[2]=='2' and f3[3]=='0'):
            av8.append(T1)                            
       elif(f3[2]=='2' and f3[3]=='1'):
            av9.append(T1)
       elif(f3[2]=='2' and f3[3]=='2'):
            av10.append(T1)
     
av0=(av0)
av1=(av1)
av2=(av2)
av3=(av3)
av4=(av4)
av5=(av5)
av6=(av6)
av7=(av7)
av8=(av8)
av9=(av9)
av10=(av10)
    
x = [1,2,3,4,5,6,7,8,9,10,11,12] 
plt.plot(x,av0,color="mediumpurple",linewidth=1,linestyle='-', marker='o',label="2012")
plt.plot(x,av1,color="lightcoral",linewidth=1,linestyle='-', marker='^',label="2013")
plt.plot(x,av2,color="plum",linewidth=1,linestyle='-', marker='p',label="2014")
plt.plot(x,av3,color="grey",linewidth=1,linestyle='-', marker='x',label="2015")
plt.plot(x,av4,color="lightskyblue",linewidth=1,linestyle='-', marker='v',label="2016")
plt.plot(x,av5,color="orchid",linewidth=1,linestyle='-', marker='s',label="2017")
plt.plot(x,av6,color="pink",linewidth=1,linestyle='-', marker='*',label="2018")
plt.plot(x,av7,color="turquoise",linewidth=1,linestyle='-', marker='D',label="2019")
plt.plot(x,av8,color="c",linewidth=1,linestyle='-', marker='P',label="2020")
plt.plot(x,av9,color="tan",linewidth=1,linestyle='-', marker='h',label="2021")
plt.plot(x,av10,color="burlywood",linewidth=1,linestyle='-', marker='>',label="2022")

# plt.plot(x, av11,color="black",linewidth=1,linestyle='-', marker='o',label="average")

index = np.arange(1,13)
plt.xticks(index, ('1', '2', '3', '4', '5', '6','7','8','9','10','11','12'))
plt.grid(axis="y")
plt.xlabel('Months')
# 设置纵轴标签
# plt.ylabel('chlor_a (mg m^-3)')
plt.ylabel('Rrs_555 (sr^-1)')
plt.legend(loc="upper right", bbox_to_anchor=(1.25,1))
plt.tight_layout()
plt.savefig('Rrs月变化.jpg',dpi=600)
plt.show()

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python可以使用matplotlib和pandas模块来实现数据可视化折线图折线图常用于展示时间序列数据的趋势。在matplotlib模块,可以使用plot方法来绘制折线图。当然,也可以使用pandas模块的plot方法来绘制折线图。 下面是使用pandas模块绘制折线图的具体代码示例: ```python import pandas as pd import matplotlib.pyplot as plt # 设置绘图风格 plt.style.use('ggplot') # 处理文乱码 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 读取数据 data = pd.read_excel(r'weather.xlsx') # 统计每平均最高气温 data = data.pivot_table(index='month', columns='year', values='high') # 绘制折线图 data.plot(kind='line', style=['-', '--', ':']) # 修改坐标轴标签 plt.xlabel('月份') plt.ylabel('气温') # 添加图形标题 plt.title('每平均最高气温波动趋势') # 显示图形 plt.show() ``` 通过以上代码,可以绘制出每平均最高气温的折线图,其每年数据使用不同的线条样式进行区分。这样可以更直观地展示出数据的变化趋势。 更多关于使用matplotlib模块绘制折线图的详细信息,可以参考Matplotlib的官方文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python数据可视化的例子——折线图(line)](https://blog.csdn.net/weixin_48615832/article/details/108466201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [001 Python数据可视化之折线图](https://blog.csdn.net/qixinxiangshicheng/article/details/129480075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值