📜  如何在 Matplotlib 中调整轴标签的位置?

📅  最后修改于: 2022-05-13 01:55:31.065000             🧑  作者: Mango

如何在 Matplotlib 中调整轴标签的位置?

在本文中,我们将看到如何在Python语言绘图库 Matplotlib 中调整 x 轴和 y 轴标签的位置。默认情况下,这些标签放置在中间,但我们可以使用 matplotlib 的 set_xlabel 和 set_ylabel函数中的“loc”参数更改这些位置。

注意: “loc”参数仅在Matplotlib 3.3.0 版本以上可用。

让我们一步一步地理解:

第1步:

首先,让我们导入所有必需的库。

Python3
import matplotlib.pyplot as plt
import numpy as np


Python3
from random import sample
data = sample(range(1, 1000), 100)


Python3
fig, ax = plt.subplots() 
ax.hist( data, bins = 100, alpha = 0.6) 
ax.set_xlabel("X-Label" , fontsize = 16)
ax.set_ylabel("Y-label" , fontsize = 16)


Python3
fig, ax = plt.subplots() 
ax.hist( data, bins = 100, alpha = 0.6) 
ax.set_xlabel("X-Label",
              fontsize = 16, loc = "right")
  
ax.set_ylabel("Y-Label", 
              fontsize = 16, loc = "bottom")


Python3
fig, ax = plt.subplots() 
ax.hist( data, bins = 100, alpha = 0.6) 
ax.set_xlabel("X-Label", 
              fontsize = 16, loc = "right")
  
ax.set_ylabel("Y-Label", 
              fontsize = 16, loc = "top")


第2步:

现在我们将使用 NumPy 库创建假数据。这里我们使用来自 random 模块的 sample 子模块来创建随机值的数据集。

蟒蛇3

from random import sample
data = sample(range(1, 1000), 100)

第 3 步:

现在我们已经创建了数据,让我们使用 matplotlib 的默认选项绘制这些数据,然后开始试验它的位置。我们可以清楚地看到这些标签默认位于中心。 bins 参数告诉您数据将被划分成的 bin 数量。 Matplotlib 允许您使用 alpha 属性调整图形的透明度。默认情况下,alpha=1

蟒蛇3

fig, ax = plt.subplots() 
ax.hist( data, bins = 100, alpha = 0.6) 
ax.set_xlabel("X-Label" , fontsize = 16)
ax.set_ylabel("Y-label" , fontsize = 16)

输出:

标签的默认位置

使用 loc 参数更改标签的位置

在这里,我们将使用 loc 参数将 y-label 移动到底部,将 x-label 移动到最右边。

蟒蛇3

fig, ax = plt.subplots() 
ax.hist( data, bins = 100, alpha = 0.6) 
ax.set_xlabel("X-Label",
              fontsize = 16, loc = "right")
  
ax.set_ylabel("Y-Label", 
              fontsize = 16, loc = "bottom")

输出:

Y-label 到底部,X-label 到最右边

让我们再举一个例子,我们将把 y 标签移到顶部。

蟒蛇3

fig, ax = plt.subplots() 
ax.hist( data, bins = 100, alpha = 0.6) 
ax.set_xlabel("X-Label", 
              fontsize = 16, loc = "right")
  
ax.set_ylabel("Y-Label", 
              fontsize = 16, loc = "top")

输出:

顶部的 Y 标签和最右侧的 X 标签