【问题标题】:Seaborn Box and Whisker plot, X and Y labels, making it bold?Seaborn Box and Whisker plot,X 和 Y 标签,让它变得大胆?
【发布时间】:2021-12-29 10:59:04
【问题描述】:
sns.boxplot(x=df['NAME'], y=df['QTY'], showmeans=True, meanprops={"marker":"o",
                       "markerfacecolor":"red", 
                       "markeredgecolor":"black",
                      "markersize":"2"})

以上是在 Seaborn 中创建箱线图的代码行。

  1. 只是想知道是否有人知道如何使 X 轴标签 (NAME) 和 Y 轴标签 (QTY) 在图表上显示为“粗体”。我不想添加带有 X 和 Y 标签的新代码行,因为这两个值可能会不时更改。必须有一种方法可以在该行中的某处插入 'fontweight = 'bold'。

  2. 此外,如果有办法将 X 轴值(所有名称)旋转 90 度。它们都显示为水平的。

非常感谢

【问题讨论】:

    标签: python-3.x pandas dataframe seaborn


    【解决方案1】:

    您可以使用ax = sns.boxplot(...) 来捕获创建该图的子图。然后ax.get_xlabel() 返回现有的 x-label 可用于再次设置它并更新其属性。无法将所有这些都包含在 sns.boxplot() 命令本身中。

    同样,刻度标签的方向可以通过 ax.tick_params(axis='x', labelrotation=...) 更改。请注意,plt.tightlayout() 会将标签很好地融入周围的情节中。

    下面是一些使用标准 Titanic 数据集的示例代码:

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    df = sns.load_dataset('titanic')
    ax = sns.boxplot(x=df['class'], y=df['age'], showmeans=True,
                     meanprops={"marker": "o", "markerfacecolor": "red", "markeredgecolor": "black", "markersize": "2"})
    ax.set_xlabel(ax.get_xlabel(), fontdict={'weight': 'bold'})
    ax.set_ylabel(ax.get_ylabel(), fontdict={'weight': 'bold'})
    ax.tick_params(axis='x', labelrotation=45)
    plt.tight_layout()
    plt.show()
    

    【讨论】:

    • 它实际上不适用于已加载到 RAM 中的数据集。使用名为“IRIS”和“df”的 CSV 文件从该 CSV 文件加载选择性列。
    • “它不起作用” 信息量不是很大。它崩溃了吗?你收到错误了吗?是不是发生了什么意想不到的事情?剧情中是否遗漏了什么?您是否忘记在ax = sns.boxplot(....) 中捕捉ax? ...?也许您可以edit您的帖子并添加更多信息?您可以添加您使用的实际代码吗?我的示例代码对你有用吗?
    • 感谢您提供较早的评论。捕获没有正确执行。我发现了这个问题。修复。现在效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2021-12-09
    • 2021-08-01
    • 2022-01-18
    相关资源
    最近更新 更多