这是我关于Stackoverflow的第一个问题!
我一直在用海洋relplot()
绘制一些散点图。对于我的前两个图,子图的大小和x轴看起来很正常。但是在我的第三幅情节中,我得到了这样的东西
您可以在其中看到x轴从0-1开始只有2个滴答声,我想使它们与y轴相同。这是我的代码:
#Setting style
sns.set_style('ticks')
sns.set_palette('RdBu',6)
plt.figure(figsize=(10,8))
#Plotting
rel = sns.relplot(data=df_scenarios, x="feb_pred",
y="mar_pred", col="scenarios", col_wrap=2,
kind="scatter", hue="pred_diff")
#Customizing
rel.set(xlabel="202002 pred", ylabel = "202003 pred")
a0 = rel.fig.axes[0]
a0.set_title("scen1")
a0.plot([0,1],[0,1],'black',linewidth = 2 )
a1 = rel.fig.axes[1]
a1.set_title("scen2")
a1.plot([0,1],[0,1],'black',linewidth = 2 )
a2 = rel.fig.axes[2]
a2.set_title("scen3")
a2.plot([0,1],[0,1],'black',linewidth = 2 )
a3 = rel.fig.axes[3]
a3.set_title("scen4")
a3.plot([0,1],[0,1],'black',linewidth = 2 )
a4 = rel.fig.axes[4]
a4.set_title("scen5")
a4.plot([0,1],[0,1],'black',linewidth = 2 )
a5 = rel.fig.axes[5]
a5.set_title("scen6")
a5.plot([0,1],[0,1],'black',linewidth = 2 )
plt.show()
有人知道我可以更改什么以使x和y轴具有相同的刻度吗?
谢谢!
答案 0 :(得分:0)
欢迎来到Stackoverflow!您可以将其添加到自定义绘图中,以强制x限制等于y限制并使每个子图成为二次方:
for ax in rel.fig.axes:
ax.set_xlim(ax.get_ylim())
ax.set_aspect('equal')
您可能还希望更改图形大小以适应2x3格式。