为什么 https://seaborn.pydata.org/generated/seaborn.FacetGrid.html
没有像其他图表一样接受 matplotlib 轴的 ax
参数
例如,https://seaborn.pydata.org/generated/seaborn.distplot.html ?
因为我需要为 FacetGrid 设置 matplotlib 轴以引入自定义样式。
最佳答案
FaceGrid 制作网格,因此您无法将网格传递给它。各个图都存储在内部,并且可以像下面的代码一样进行操作。另请注意 Axes and Axis are different in Matplotlib 。下面的代码展示了获取 Axes 和 Axis 的方法:
import seaborn as sns
import pandas as pd
#dummy data
data= pd.DataFrame(data={'a':np.random.randint(0,2, 100),
'b':np.random.rand(100),
'c':np.random.rand(100)})
# make facetgrid and store in variable
g = sns.FacetGrid(data, col='a') # make facetgrid with 2 columns, because there are two distinct values in column a of data
g.map(plt.scatter, 'b', 'c') # map function to grid
# the individual axes of the grid are stored in g.
# you can access and edit them like so:
for ax in g.axes[0]:
ax.set_ylabel('test')
ax.set_ylim(0,1.5)
ax.set_title('title')
# now you can obtain the axis from one of the axes
x_axis = ax.get_xaxis()
关于python - FacetGrid 的 Matplotlib 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62100983/