0

目标是在不同方面拥有绘图子集,可实现如下。

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset("iris")
sns.displot ( data=iris, x='petal_width', col='species', col_wrap=2, bw_adjust=0.5,
                      kind="kde", rug=True)
plt.xticks ( fontsize=14, rotation=45, ha="right" )
plt.show()

产生

在此处输入图像描述 但是,我注意到x-tick图形的顶部和底部之间的渲染不一致,设置xticks45

编辑:感谢OP,刻度现在正确旋转 45 度。但是,该建议在设置 xticks 标签时仍然存在问题。具体来说,字体大小不一致。

在此处输入图像描述

上图是通过以下代码生成的

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset("iris")
g=sns.displot ( data=iris, x='petal_width', col='species', col_wrap=2, bw_adjust=0.5,
                      kind="kde", rug=True)

g.set_xticklabels(rotation=45)
header_name =['1a','1b','1c','1d']
value_tick = [0.5,1,1.5,3]
g.set_xticklabels ( rotation=45 )
plt.xticks ( fontsize=14, ticks=value_tick, labels=header_name, ha="right" )
4

1 回答 1

1

你想全部x-ticks旋转 45 圈吗?如果是,那么只需尝试下面的代码,

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset("iris")
g = sns.displot ( data=iris, x='petal_width', col='species', col_wrap=2, bw_adjust=0.5,
                      kind="kde", rug=True);
g.set_xticklabels(rotation=45)
# plt.gca().set_xticks("fontsize"="14", "rotation":"45", "ha":"right" )
plt.show()

输出

编辑: 您可以fontsizeset_xticks函数本身中设置。参考下面的例子:

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset("iris")
g=sns.displot ( data=iris, x='petal_width', col='species', col_wrap=2, bw_adjust=0.5,
                      kind="kde", rug=True)

header_name =['1a','1b','1c','1d']
value_tick = [0.5,1,1.5,3]
g.set_xticklabels (fontsize=14, rotation=45 )
plt.xticks(ticks=value_tick, labels=header_name, ha="right" )

输出1

如果您想更改fontsizeforsns plot使用它自己的内置功能,我真的会推荐sns.set()。这样就容易多了。

import seaborn as sns
import matplotlib.pyplot as plt

# set font size using sns
sns.set(font_scale=1.5)  # crazy big

iris = sns.load_dataset("iris")
g = sns.displot ( data=iris, x='petal_width', col='species', col_wrap=2, bw_adjust=0.5,
                      kind="kde", rug=True)

header_name =['1a','1b','1c','1d']
value_tick = [0.5,1,1.5,3]
g.set_xticklabels (rotation=45 )
plt.xticks ( ticks=value_tick, labels=header_name, ha="right" )

输出2

于 2021-03-04T04:19:09.760 回答