[英]How to change fontsize of only x or y labels in seaborn pairplot?
[英]Python: How to increase/reduce the fontsize of x and y tick labels?
在使用matplotlib
我似乎在弄清楚如何增加或減少 x 和 y 刻度標簽的fontsize
時遇到問題。
我知道有set_xticklabels(labels, fontdict=None, minor=False, **kwargs)
函數,但我無法理解如何控制其中的fontsize
。
我期待一些明確的東西,比如
title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)
但到目前為止我還沒有找到類似的東西。 我錯過了什么?
不應使用set_yticklabels
來更改字體大小,因為這也會設置標簽(即它將用FixedFormatter
替換任何自動格式化程序),這通常是不受歡迎的。 最簡單的方法是設置相應的tick_params
:
ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)
或者
ax.tick_params(labelsize=8)
如果兩個軸的尺寸相同。
當然,在@tmdavison 的回答中使用 rcParams 也是可能的。
您可以在調用set_xticklabels
和set_yticklabels
直接設置字體set_yticklabels
(如之前的答案所述)。 這一次只會影響一個Axes
。
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
請注意,僅當您首先固定刻度的位置時才應使用此方法(例如使用ax.set_xticks
)。 如果你沒有改變默認的刻度位置,你可以只改變刻度標簽的字體大小而不用使用ax.tick_params
改變文本
ax.tick_params(axis='x', labelsize=8)
ax.tick_params(axis='y', labelsize=8)
或者
ax.tick_params(axis='both', labelsize=8)
您還可以設置ticklabel
全局字體大小(即所有數據/腳本中的次要情節)使用rcParams
:
import matplotlib.pyplot as plt
plt.rc('xtick',labelsize=8)
plt.rc('ytick',labelsize=8)
或者,等效地:
plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8
最后,如果這是您希望為所有 matplotlib 圖設置的設置,您還可以在matplotlibrc
文件中設置這兩個rcParams
:
xtick.labelsize : 8 # fontsize of the x tick labels
ytick.labelsize : 8 # fontsize of the y tick labels
使用關鍵字size
而不是fontsize
。
它比我想象的要簡單。
要設置 x 軸刻度的字體大小:
x_ticks=['x tick 1','x tick 2','x tick 3']
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
要為 y 軸刻度執行此操作:
y_ticks=['y tick 1','y tick 2','y tick 3']
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
參數rotation
和fontsize
可以輕松控制我所追求的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.