我正在使用 seaborn 绘制图表,代码为:
fig, ax = plt.subplots(figsize=(20, 10))
ax2 = ax.twinx()
sns.barplot(x="dt_mvtc", y="qtde_t0",
data=df_grafico_merge.query('t0_def_qtt==1'),color='blue',ax=ax)
sns.lineplot(x="dt_mvtc",y='qtde_t12', hue='t12_def_qtt', style='t12_def_qtt',
data=df_grafico_merge.query('t0_def_qtt==1'),markers= True, color='orange', ax=ax2)
plt.xlabel("Data")
plt.ylabel("Quantidade")
plt.title('Qtde de registros por data e t0=1')
plt.xticks(rotation=90)
for axis in [ax.yaxis]:
formatter = ScalarFormatter()
formatter.set_scientific(True)
axis.set_major_formatter(formatter)
plt.show()
输出是:
为什么x轴是这样的?既然我x=dt_mvtc
在两者中都使用,为什么它们会混合?只是为了比较,当我评论 lineax2 = ax.twinx()
时,轴输出正确(即日期旋转 90 并且可读),所以我的问题是使用twinx()
,但我没有错在哪里。有什么帮助吗?