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")
是否可以为色相添加刻度?
一些色调颜色非常相似,我也想添加一个文字说明。
最佳答案
您必须注意数据集中的色调数量以及类别数量等。
如果您有N个类别,则将它们分别绘制在轴坐标0,1,...,N-1处。然后以该坐标为中心绘制各种色调。对于您示例中的2种色相,横条为x±0.2
fig, ax = plt.subplots()
bar = sns.barplot(data=df, x="model", hue="time", y="value", edgecolor="white")
ax.set_xticks([-0.2,0.2, 0.8,1.2])
ax.set_xticklabels(["on/short","on/long",'off/short','off/long'])
请注意,我强烈建议您在调用
order=
时使用hue_order=
and barplot()
,以确保标签与条形匹配。关于python - seaborn barplot添加xticks作为色相,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58267394/