回顾我的错误,我已经修改了代码:
我的代码是:
fig, axs = plt.subplots(nrows=2, ncols=1, sharex=True)
axs = axs.flatten()
axs[0].scatter(df["Xaxis"], df["Yaxis"], c=df['cmap'])
axs[0].plot(df["Xaxis"], df["Yaxis"],c='black')
现在的问题是我的X轴每隔22行重新启动数据框,并且图形显示了从Xmax到Xmin的许多线。我将不胜感激。
以下是一些简化的数据:
df = pd.DataFrame({
'cmap':[2.17073,2.14109,2.16052,2.81882,2.29713,2.26273,2.26479,2.7643,2.5444,2.5027,2.52532,2.6778],
'xAxis':[10,100,1000,10000,10,100,1000,10000,10,100,1000,10000],
'yAxis':[2.17169E-4,2.15889E-4,2.10526E-4,1.53785E-4,2.09867E-4,2.07583E-4,2.01699E-4,1.56658E-4,1.94864E-4,1.92924E-4,1.87634E-4,1.58252E-4]})
答案 0 :(得分:0)
我解决问题的方法是在数据框中添加一列:
dataframe['groups'] = np.floor_divide(dataframe.index, 22).astype(str)
,然后将两个图合并为:
fig, axs = plt.subplots(sharex=True)
axs = axs.flatten()
axs.scatter(df["Xaxis"], df["Yaxis"], c=df['cmap'])
dataframe.groupby('groups').plot(kind='line', x="Xaxis", y="Yaxis", ax=axs, c='black', legend=None)