![](/img/trans.png)
[英]How to change dimension of Seaborn relplot in Jupyter notebook
[英]How to globally change xticks label relplot in Seaborn
我面临一个问题,使用relplot
将 x-tick label 全局更改为 plot 渲染
想法是将int
更改为string
x-tick label 对于 plot。 所需的 label 是['a','b','c','d']
但是,如下图可以看到,只有底部plot的x label改成功了。
重现上图的代码如下。
tips = sns.load_dataset("tips")
g = sns.relplot(x="total_bill", y="tip", hue="day", col="time", data=tips, facet_kws=dict(sharex=False),col_wrap=1)
header_name=['a','b','c','d']
x_tick_interval = 15
value_tick = range ( 0, 50, x_tick_interval )
header_name_sel = [header_name[idx] for idx in range ( 0,len(value_tick))]
# g.set_xticklabels ( fontsize=8, rotation=45, labels=header_name, step=15 )
plt.xticks ( ticks=value_tick, labels=header_name_sel, ha="right" )
plt.show ()
您可以手动抓取轴,因为seaborn
基本上是matplotlib
周围的包装。 参考下面的例子。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.relplot(x="total_bill", y="tip", hue="day", col="time", data=tips, facet_kws=dict(sharex=False),col_wrap=1)
header_name=['a','b','c','d']
x_tick_interval = 15
value_tick = range ( 0, 50, x_tick_interval )
header_name_sel = [header_name[idx] for idx in range ( 0,len(value_tick))]
for ax in g.axes.flat:
labels = ax.get_xticklabels() # get x labels
ax.set_xticks(ticks=value_tick) # set new labels
ax.set_xticklabels(fontsize=8, rotation=45, labels=header_name)
plt.show ()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.