我一直在与美国NOAA(国家海洋和大气管理局)全球平均海平面数据集合作。有4颗卫星提供信息,因此,有4列和年列。这些卫星在特定时间间隔内提供信息。例如;卫星Posedion在1992 - 2006年间工作,Jason-1在2003 - 2014年间工作。当然,有很多NaN值,其中Jason-1不服务但是Poseidon。
我想要的是绘制线性线以计算海平面上升,这就是全部。我希望这四列适合年份列。无法破解..
Here is my code;
import numpy as np
import pandas as pd
from scipy import stats
from sklearn import linear_model
from matplotlib import pyplot as plt
import pylab
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
Atlantic = pd.read_csv('C:\\Atlantic_Free2.csv', error_bad_lines=False)
Atlantic = Atlantic[~np.isnan(Atlantic)]
Poseidon = Atlantic['Poseidon']
Jason1 = Atlantic['Jason1']
Jason2 = Atlantic['Jason2']
Jason3 = Atlantic['Jason3']
plt.figure(figsize=(20,10))
colors = ["blue", "red", "green", "purple"]
texts = ["Poseidon", "Jason1", "Jason2", "Jason3"]
patches = [ plt.plot([],[], marker="o", ms=10, ls="", mec=None, color=colors[i],
label="{:s}".format(texts[i]) )[0] for i in range(len(texts)) ]
plt.legend(handles=patches, loc='upper left', ncol=1, facecolor="grey", numpoints=1 )
plt.plot(Atlantic, Poseidon , 'ro', color='blue')
plt.plot(Atlantic, Jason1 , 'ro', color='red')
plt.plot(Atlantic, Jason2 , 'ro', color='green')
plt.plot(Atlantic, Jason3 , 'ro', color='purple')
plt.ylabel('Change in mean sea level [mm]', fontsize=20)
plt.xlabel('Years', fontsize=20)
plt.title('Atlantic Ocean - Mean Sea Level', fontsize=20)
plt.axis([1992, 2018, -25, 80])
plt.grid(True)
plt.plot()
plt.show()
上面代码的输出,添加到下面。