Seaborn barplot 为色调添加 xticks

lhk*_*lhk 4 python matplotlib python-3.x seaborn

Seaborn 条形图对于 x 坐标上的每个唯一值都有一个 xtick。但对于色调值,没有刻度:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.DataFrame(columns=["model", "time", "value"])
df["model"] = ["on"]*2 + ["off"]*2
df["time"] = ["short", "long"] * 2
df["value"] = [1, 10, 2, 4]

fig, ax = plt.subplots()
bar = sns.barplot(data=df, x="model", hue="time", y="value", edgecolor="white")
Run Code Online (Sandbox Code Playgroud)

条形图

是否也可以为色调添加刻度?有些色调颜色非常相似,我也想添加文字描述。

Diz*_*ahi 6

您必须小心数据集中可能具有的色调数量以及类别数量等。\n如果您有 N 个类别,则它们分别绘制在轴坐标 0,1,...处, N-1。然后围绕该坐标绘制各种色调。对于像您的示例中那样的 2 种色调,条形图位于 x\xc2\xb10.2

\n\n
fig, ax = plt.subplots()\nbar = sns.barplot(data=df, x="model", hue="time", y="value", edgecolor="white")\nax.set_xticks([-0.2,0.2, 0.8,1.2])\nax.set_xticklabels(["on/short","on/long",\'off/short\',\'off/long\'])\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

请注意,我强烈建议您在调用中使用order=andhue_order=barplot()来确保您的标签与条形匹配。

\n