【问题标题】:How can I decrease the width of a boxplot rectangle?如何减小箱线图矩形的宽度?
【发布时间】:2020-02-13 04:18:07
【问题描述】:

我做了一个箱线图:

我想减小蓝色/橙色矩形的宽度以获得类似于此箱线图中蓝色/橙色矩形的宽度:

我的目标是减少箱线图的总宽度,以便在文档中占用更少的空间/我可以在情节图片旁边有文本流。

到目前为止的代码:

ax_v = sns.boxplot(x="hasTopic", y="sentiment_sum", data=videos, orient="v")
ax_v.set(xticklabels=["ohne", "mit"])
ax_v.set(ylim=(-4, 4))
plt.xlabel('Themenbezug Videos', fontsize=14)
plt.ylabel('Sentiment', fontsize=14)
plt.show()

我如何在 Seaborn 中做到这一点?

【问题讨论】:

  • 例如,矩形将通过widths=0.3 进行更改。但这不会改变图形大小。要更改图形大小,请谷歌“matplotlib 更改图形大小”。
  • 感谢您的提示,“plt.figure(figsize=(3.4, 4)) # variables are inches" + "width=0.5" 为我解决了这个问题。你还知道如何用自定义的十六进制颜色为每个矩形着色吗?

标签: seaborn boxplot spacing


【解决方案1】:
plt.figure(figsize=(3.4, 4))  # <- this line
ax_v = sns.boxplot(x="hasTopic", y="sentiment_sum", data=videos, width=0.5, orient="v")
ax_v.set(xticklabels=["ohne", "mit"])
ax_v.set(ylim=(-4, 4))
plt.xlabel('Themenbezug Videos', fontsize=14)
plt.ylabel('Sentiment', fontsize=14)
plt.show()

解决了。

使用自定义颜色为每个矩形着色:

my_pal = {0: "#3399ff", 1: "#f1c40f"}  # x="hasTopic" has value 0 or 1
plt.figure(figsize=(3.4, 4), dpi=800)
ax_c = sns.violinplot(x="hasTopic", y="sentiment_sum", palette=my_pal, width=0.7, orient="v", data=channels)
ax_c.yaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
#ax_v = sns.swarmplot(x="hasTopic", y="sentiment_sum", data=comments, color=".25")
ax_c.set(xticklabels=["ohne", "mit"])
ax_c.set(ylim=(-4, 4))
plt.xlabel('Themenbezug Channels', fontsize=14)
plt.ylabel('Sentiment', fontsize=14)
plt.tight_layout()
plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 2013-08-02
    • 1970-01-01
    相关资源
    最近更新 更多