用Python绘制图:有16个Excel表格,分别计算16个站点1-12月每月的多年平均值,然后绘制在一个图表里,16个颜色不同的线,横坐标为1,2,3,4,5,6,7,8,9,10,11,12表示12个月份,纵坐标为δ18O
时间: 2023-10-26 08:50:26 浏览: 182
您可以使用Python中的pandas和matplotlib库来完成这任务。首先,您需要读取16个Excel表格并计算每个站点每月的多年平均值。然后,您可以使用matplotlib来绘制图表,其中每个站点使用不同的颜色来表示。
以下是一个示例代码,可以帮助您完成这个任务:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取16个Excel表格并计算每个站点每月的多年平均值
site_data = []
for i in range(1, 17):
file_name = f'site{i}.xlsx' # 假设Excel文件名为site1.xlsx,site2.xlsx,以此类推
df = pd.read_excel(file_name)
monthly_avg = df.mean() # 计算每月平均值
site_data.append(monthly_avg)
# 创建一个图表
plt.figure(figsize=(10, 6))
x = range(1, 13) # 横坐标1-12表示12个月份
# 绘制16个站点的线条
colors = ['blue', 'green', 'red', 'orange', 'purple', 'brown', 'pink', 'gray', 'olive', 'cyan', 'magenta', 'yellow', 'black', 'gold', 'silver', 'teal']
for i, data in enumerate(site_data):
y = data['δ18O'] # 纵坐标为δ18O
plt.plot(x, y, color=colors[i], label=f'Site {i+1}')
# 设置图表标题和轴标签
plt.title('Monthly Average δ18O')
plt.xlabel('Month')
plt.ylabel('δ18O')
# 添加图例
plt.legend()
# 显示图表
plt.show()
```
请注意,您需要将代码中的文件名`site1.xlsx`、`site2.xlsx`等替换为您实际的Excel文件名。另外,您可以根据需要调整图表的大小、颜色等参数。
阅读全文