在Seaborn / Matplotlib中对x轴排序不起作用[重复]

ylamdve6  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(154)

此问题已在此处有答案

How to assign different position for each group in a violinplot(1个答案)
13小时前关闭
我尝试使用py.sorted()函数对x轴(“size”)进行逆序排序,尽管设置了“reverse=True”,但这并不影响图,轴仍然是正常的顺序。我想知道我做错了什么...谢谢!

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import seaborn.objects as so
tips = sns.load_dataset("tips")

df = pd.DataFrame(data=tips)

unique_xs = sorted(df["size"].unique(), reverse=True)

f, ax = plt.subplots(1, 2, figsize=(12, 2.4))

sns.violinplot(data=df, x="size", y="tip", ax=ax[0])
sns.lineplot(data=df, x=df["size"].map(unique_xs.index), y="tip", ax=ax[0])

for _, spine in ax[0].spines.items():
    spine.set_visible(True)
    spine.set_linewidth(10)
q5lcpyga

q5lcpyga1#

我刚刚找到了一个解决方案,通过添加“order=unique_xs”条件,轴被颠倒了!

sns.violinplot(data=df, x="size", y="tip", ax=ax[0], order=unique_xs)

相关问题