如何修改Seaborn代码放大FacetGrid图的纵轴刻度数字?
解决方法
要单独放大纵轴的刻度数字,可以通过遍历FacetGrid的每个子图,调用tick_params()方法设置纵轴刻度标签的大小。以下是修改后的代码:
import seaborn as sns import pandas as pd import matplotlib.pyplot as plt import numpy as np data=pd.DataFrame({'val':[1, 1, 2, 2.1, 2, 2.5, 2.3],'site':['a','a','a','b','b','b','b'], 'X2':[4, 5 ,6 ,10, 10, 11, 11], 'X3':[100,100,200,200,200,300,300], 'applydate':[1101,1102,1201,1202,1204,1204,1204], 'X1':['b','b','h','b','b','h','h'] }) def my_scatter(x,y, **kwargs): plt.scatter(x=x, y=y,**kwargs) mx = np.mean(x);my= np.mean(y); sns.set_context("paper") # the 'paper'style g = sns.FacetGrid(data,col='site',height=3) g.map(my_scatter, "X2", "val",s=100, alpha=.5) g.add_legend() # 遍历每个子图,放大纵轴刻度数字 for ax in g.axes.flat: ax.tick_params(axis='y', labelsize=12) # labelsize可根据需求调整,比如14、16等 plt.show()
关键修改说明
- 通过
g.axes.flat获取所有子图的坐标轴对象 - 使用
tick_params(axis='y', labelsize=XX)指定仅修改纵轴(axis='y')的刻度标签大小,labelsize的数值可以根据你的需求自由调整
如果需要同时调整横轴刻度,只需把axis='y'改成axis='both'即可。
内容的提问来源于stack exchange,提问作者Soon
相关产品推荐
相关产品推荐

