📌  相关文章
📜  如何在 Matplotlib 中隐藏轴文本刻度或刻度标签?

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

如何在 Matplotlib 中隐藏轴文本刻度或刻度标签?

先决条件: Matplotlib

Matplotlib 库默认显示轴刻度和刻度标签。有时需要隐藏这些轴刻度和刻度标签。本文讨论了一些可以完成此操作的方法。

使用的功能:

  • xticks( ticks=None, labels=None, **kwargs ) – 用于获取和设置 x 轴的当前刻度位置和标签。
  • yticks( ticks=None, labels=None, **kwargs )-用于获取和设置 y 轴的当前刻度位置和标签。
  • set_visible( boolean )-设置可见性

隐藏刻度标签

方法一:

函数 xticks() 和 yticks() 用于表示数据点应该显示的位置。他们将列表作为参数。因此,可以通过将 xticks 和 yticks 设置为空列表来禁用轴文本刻度或刻度标签,如下所示:

plt.xticks([])
plt.yticks([])

示例 1:

Python3
import matplotlib.pyplot as plt
  
x1 = [5, 8, 10]
y1 = [12, 16, 8]
x2 = [6, 9, 12]
y2 = [14, 10, 8]
  
plt.plot(x1, y1, 'g', linewidth=7)
plt.plot(x2, y2, 'b', linewidth=7)
  
plt.title('Disabling xticks and yticks', fontsize=20)
  
plt.xlabel('X axis', fontsize=15)
plt.ylabel('Y axis', fontsize=15)
  
# disabling xticks by Setting xticks to an empty list
plt.xticks([])  
  
# disabling yticks by setting yticks to an empty list
plt.yticks([])  
  
plt.show()


Python3
import matplotlib.pyplot as plt
  
plt.plot([5, 10, 20], [20, 10, 50], color='g')
  
plt.xlabel("X Label")
plt.ylabel("Y Label")
  
# xticks color white
plt.xticks(color='w')
  
# yticks color white
plt.yticks(color='w')
  
plt.show()


Python3
import numpy as np
import matplotlib.ticker as ticker
  
ax = plt.axes()
  
x = np.random.rand(100)
ax.plot(x, color='g')
  
ax.xaxis.set_major_locator(ticker.NullLocator())
ax.yaxis.set_major_locator(ticker.NullLocator())


Python3
import matplotlib.pyplot as plt
  
x = [5, 8, 15, 20, 30]
y = [15, 10, 8, 20, 15]
plt.plot(x, y, color='g', linewidth=5)
  
# x-label as blank
plt.xticks(x, " ")
  
# y-label as blank
plt.yticks(y, " ")
  
plt.show()


Python3
import matplotlib.pyplot as plt
  
x = [5, 8, 15, 20, 30]
y = [15, 10, 8, 20, 15]
plt.plot(x, y, color='g', linewidth=5)
  
plt.xticks(x, labels=" ")
plt.yticks(y, labels=" ")
  
plt.show()


Python3
import matplotlib.pyplot as plt
  
x = [5, 8, 15, 20, 30]
y = [15, 10, 8, 20, 15]
plt.plot(x, y, color='g', linewidth=5)
  
# getting current axes
a = plt.gca()
  
# set visibility of x-axis as False
xax = a.axes.get_xaxis()
xax = xax.set_visible(False)
  
# set visibility of y-axis as False
yax = a.axes.get_yaxis()
yax = yax.set_visible(False)
  
plt.show()


输出:

方法二:

默认情况下,在 matplotlib 库中,绘图绘制在白色背景上。因此,将刻度标签的颜色设置为白色可以使轴刻度标签隐藏。为此,只有颜色属性需要将 w(代表白色)作为值传递给 xticks() 和 yticks()函数。下面给出实现:

示例 2:

蟒蛇3

import matplotlib.pyplot as plt
  
plt.plot([5, 10, 20], [20, 10, 50], color='g')
  
plt.xlabel("X Label")
plt.ylabel("Y Label")
  
# xticks color white
plt.xticks(color='w')
  
# yticks color white
plt.yticks(color='w')
  
plt.show()

输出:

方法三:

Null Locator 是一种刻度定位器,它使轴刻度和刻度标签消失。简单地传递 NullLocator()函数就足够了。

示例3:

蟒蛇3

import numpy as np
import matplotlib.ticker as ticker
  
ax = plt.axes()
  
x = np.random.rand(100)
ax.plot(x, color='g')
  
ax.xaxis.set_major_locator(ticker.NullLocator())
ax.yaxis.set_major_locator(ticker.NullLocator())

输出:

方法四:

仔细观察 xticks() 和 yticks() 的语法,即使只是一个空格与数据一起传递给它们,输出也将是我们想要的结果。

示例 4:

蟒蛇3

import matplotlib.pyplot as plt
  
x = [5, 8, 15, 20, 30]
y = [15, 10, 8, 20, 15]
plt.plot(x, y, color='g', linewidth=5)
  
# x-label as blank
plt.xticks(x, " ")
  
# y-label as blank
plt.yticks(y, " ")
  
plt.show()

输出:

方法五:

该方法只是对方法4的修改。不是传递空字符串,而是在函数本身中将标签分配为空格。

示例 5:

蟒蛇3

import matplotlib.pyplot as plt
  
x = [5, 8, 15, 20, 30]
y = [15, 10, 8, 20, 15]
plt.plot(x, y, color='g', linewidth=5)
  
plt.xticks(x, labels=" ")
plt.yticks(y, labels=" ")
  
plt.show()

输出:

方法六:

使用 set_visibile() 我们还可以将刻度标签的可见性设置为 False,这不会使它们出现在我们的绘图中。此方法隐藏标签和刻度线,因此如果某些要求需要显示刻度线,这不是选项,但上面显示的多种方法将是理想的。

示例 6:

蟒蛇3

import matplotlib.pyplot as plt
  
x = [5, 8, 15, 20, 30]
y = [15, 10, 8, 20, 15]
plt.plot(x, y, color='g', linewidth=5)
  
# getting current axes
a = plt.gca()
  
# set visibility of x-axis as False
xax = a.axes.get_xaxis()
xax = xax.set_visible(False)
  
# set visibility of y-axis as False
yax = a.axes.get_yaxis()
yax = yax.set_visible(False)
  
plt.show()

输出: