[英]Seaborn Swarmplot Axis Interval Formatting
目前,我的 seaborn 群 plot 的 x 軸間隔太近,導致 plot 看起來像這樣: 玩具數據 x 值 (32, 34, 76, 34, 64, 34, 23, 76, 34, 63, 75, 34, 76, 34, 34, 45, 56, 67, 34, 56) Y 值 ( 0,0,1,0,1,1,0,1,0,1,0,1,1,0,0,0,1,0,1,0)
sns.swarmplot(x="age", y="sex", hue="target", palette=["green", "red"], data=df)
有沒有辦法格式化間隔? 例如,我希望 x 軸總共有 5 個標簽。 當我使用 relplot plot 時,軸標簽看起來不錯,但是當我切換到 swarmplot 時它會變得混亂。 我似乎無法在任何地方找到這方面的信息。 我發現的所有其他問題似乎都不適用於 swarmplots。
這里的這篇文章(post)與我的問題非常相似,但是我沒有使用 plt 而是使用 seaborn。 非常感謝任何幫助。
您可以通過ax = sns.swarmplot(...)
訪問所有 matplotlib 功能,然后調用例如ax.get_xticks()
。
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
N = 100
df = pd.DataFrame({'x': np.random.randint(30, 80, N, dtype=int),
'y': np.random.randint(0, 2, N),
'target': np.random.randint(0, 2, N)})
ax = sns.swarmplot(x='x', y='y', hue="target", palette=["green", "red"], data=df)
ticks = ax.get_xticks()
labels = ax.get_xticklabels()
ax.set_xticks(ticks[4::5])
ax.set_xticklabels(labels[4::5])
ax.set_yticks([0, 1])
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.