我已经用factorplot在seaborn中绘制了我的数据,并获得了facetgrid对象,但仍然不明白如何在这样的绘图中设置以下属性:1.图例大小:当我画出很多变量时,我得到的图例很小,字体也很小。
factorplot
seaborn
facetgrid
to94eoyn1#
您可以将调用中的字体放大到sns.set()。
sns.set()
import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.normal(size=37) y = np.random.lognormal(size=37) # defaults sns.set() fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='small') ax.legend(loc='upper left', bbox_to_anchor=(0, 1.1))
sns.set(font_scale=5) # crazy big fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='big') ax.legend(loc='upper left', bbox_to_anchor=(0, 1.3))
iswrvxsc2#
FacetGrid绘图确实会产生非常小的标签。虽然@paul-h已经描述了使用sns.set作为更改字体缩放比例的方法,但这可能不是最佳解决方案,因为它将更改所有绘图的font_scale设置。您可以使用seaborn.plotting_context仅更改当前图的设置:
FacetGrid
sns.set
font_scale
seaborn.plotting_context
with sns.plotting_context(font_scale=1.5): sns.factorplot(x, y ...)
fhity93d3#
我对@paul-H代码做了一些修改,这样您就可以独立设置x/y轴和图例的字体大小:
import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.normal(size=37) y = np.random.lognormal(size=37) # defaults sns.set() fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='small') ax.legend(loc='upper left', fontsize=20,bbox_to_anchor=(0, 1.1)) ax.set_xlabel('X_axi',fontsize=20); ax.set_ylabel('Y_axis',fontsize=20); plt.show()
以下是输出:
t9aqgxwy4#
对于图例,您可以使用以下命令
plt.setp(g._legend.get_title(), fontsize=20)
其中g是调用生成它的函数后返回的facetgrid对象。
yrwegjxp5#
这对我很有效
g = sns.catplot(x="X Axis", hue="Class", kind="count", legend=False, data=df, height=5, aspect=7/4) g.ax.set_xlabel("",fontsize=30) g.ax.set_ylabel("Count",fontsize=20) g.ax.tick_params(labelsize=15)
g.set_xlabel()
5条答案
按热度按时间to94eoyn1#
您可以将调用中的字体放大到
sns.set()
。iswrvxsc2#
FacetGrid
绘图确实会产生非常小的标签。虽然@paul-h已经描述了使用sns.set
作为更改字体缩放比例的方法,但这可能不是最佳解决方案,因为它将更改所有绘图的font_scale
设置。您可以使用
seaborn.plotting_context
仅更改当前图的设置:fhity93d3#
我对@paul-H代码做了一些修改,这样您就可以独立设置x/y轴和图例的字体大小:
以下是输出:
t9aqgxwy4#
对于图例,您可以使用以下命令
其中g是调用生成它的函数后返回的facetgrid对象。
yrwegjxp5#
这对我很有效
g.set_xlabel()
(然后我得到了一个"Facetgrid has no set_xlabel"方法错误)