Matplotlib 如何在Axes3D类中去掉坐标轴

Matplotlib 如何在Axes3D类中去掉坐标轴

在本文中,我们将介绍如何在使用Matplotlib库中的Axes3D类进行3D可视化时,去掉坐标轴。

首先,我们来看一个简单的示例代码:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)

ax.scatter(x, y, z)

plt.show()

运行上面的代码,我们可以得到一个3D散点图

可以看到,图中有三个坐标轴,分别表示x、y、z轴,但是在一些情况下,我们可能需要去掉这些坐标轴,以便突出展示数据,该如何实现呢?下面我们分别介绍两种方法:

阅读更多:Matplotlib 教程

方法1: 使用axis属性

Axes3D类提供了一个axis属性,可以控制坐标轴的显示与否。这个属性是一个长度为3的元组,每个元素都控制相应坐标轴的显示情况。若为True,则显示相应坐标轴,否则不显示。

我们可以将axis属性全部设置为False,即可去掉所有坐标轴,示例代码如下:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)

ax.scatter(x, y, z)

ax.axis('off')  # 关闭坐标轴显示

plt.show()

运行上面的代码,我们可以得到一个没有坐标轴的3D散点图

方法2: 使用set_axis_off()方法

除了使用axis属性外,Axes3D类还提供了一个set_axis_off()方法,可以直接关闭所有坐标轴的显示。示例代码如下:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)

ax.scatter(x, y, z)

ax.set_axis_off()  # 关闭坐标轴

plt.show()

运行上面的代码,我们也可以得到一个没有坐标轴的3D散点图

总结

通过使用axis属性或set_axis_off()方法,我们可以很方便地在Axes3D类中去掉坐标轴,从而突出展示数据。当然,我们也可以根据实际需要去掉部分坐标轴,只保留部分坐标轴。Matplotlib的Axes3D类还提供了许多其他属性和方法,如设置坐标轴标签、设置图例等功能,读者可以根据实际需要进行了解和使用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程