matplotlib 如何增加sns.lineplot的线条粗细?

4nkexdtk  于 2023-06-23  发布在  其他
关注(0)|答案(3)|浏览(320)

我有几个海运线图,我不知道如何增加我的线的宽度。
这是我的代码

#graph 1
sns.lineplot(x="date", y="nps", data=df_nps, ax=ax1, label="NPS", color='#0550D0')
sns.lineplot(x="date", y="ema28", data=df_nps, ax=ax1, label="EMA28", color='#7DF8F3')
sns.lineplot(x="date", y="ema7", data=df_nps, ax=ax1, label="EMA7", color='orange')

#graph 2
dfz_nps_lineplot = sns.lineplot(x="date", y="nps", data=dfz_nps, ax=ax2, label="NPS", color='#0550D0')
dfz_nps_lineplot = sns.lineplot(x="date", y="ema28", data=dfz_nps, ax=ax2, label="EMA28", color='#7DF8F3')
dfz_nps_lineplot = sns.lineplot(x="date", y="ema7", data=dfz_nps, ax=ax2, label="EMA7", color='orange')

#graph3
dfp_nps_lineplot = sns.lineplot(x="date", y="nps", data=dfp_nps, ax=ax3, label="NPS", color='#0550D0')
dfp_nps_lineplot = sns.lineplot(x="date", y="ema28", data=dfp_nps, ax=ax3, label="EMA28", color='#7DF8F3')
dfp_nps_lineplot = sns.lineplot(x="date", y="ema7", data=dfp_nps, ax=ax3, label="EMA7", color='orange')

# formatting

plt.show()

vsaztqbk

vsaztqbk1#

seaborn.lineplot文档中可以看到,该函数接受matplotlib.axes.Axes.plot()参数,这意味着您可以将相同的参数传递给本文档中的matplotlib函数。
如果你想简单地调整你的线图的宽度,我发现这是最简单的:在sns.lineplot()函数中传递一个参数linewidth = your_desired_line_width_in_float,例如linewidth = 1.5
您可以在链接的文档中找到其他可能的参数。

随机数据输出示例:

  • seaborn. linepot(),不提供linewdith参数 *

  • seaborn.lineplot(),线宽= 3*

juzqafwq

juzqafwq2#

对于那些正在绘制垂直线并想知道为什么更改linewidth参数似乎没有影响的人来说,答案就在linepplot的estimator参数中。
比如说

sns.lineplot(
    x=[1,1],
    y=[1,2],
    linewidth=10 # <- This will have NO impact
)

产生

sns.lineplot(
    x=[1,1],
    y=[1,2],
    estimator=None,
    linewidth=10 # <- This will now have an impact
)

产生

documentation声明“默认情况下,图在每个x值处聚合多个y值,并显示集中趋势的估计值和该估计值的置信区间”。这条细线是这种聚集的假象。通过将estimator设置为None,“将绘制所有观察结果”。
有关详细讨论,请参见问题Vertical line artefacts in 2D lineplot

snz8szmq

snz8szmq3#

您需要指定linewidth参数= desired width

相关问题