Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để ẩn các trục nhưng vẫn giữ các nhãn trục trong 3D Plot với Matplotlib?

Để ẩn các trục nhưng vẫn giữ các nhãn trục trong biểu đồ 3D với Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Tạo một hình mới hoặc kích hoạt một hình hiện có.
  • Thêm '~ .axes.Axes 'thành hình như một phần của sự sắp xếp lô phụ.
  • Tạo các điểm dữ liệu x, y, z, dx, dy và dz bằng cách sử dụng numpy
  • Sử dụng bar3d () phương pháp để vẽ các thanh 3D.
  • Để ẩn các trục, hãy khởi tạo một bộ màu giống như màu các trục.
  • Đặt thuộc tính màu mặt phẳng trục x, y và z giống với bộ màu.
  • Đặt thuộc tính màu đường trục x, y và z giống với bộ màu.
  • Đặt các dấu trống thành các trục x, y và z.
  • Đặt nhãn trục x, y và z.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

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

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [5, 6, 7, 8, 2, 5, 6, 3, 7, 2]
z = np.zeros(10)

dx = np.ones(10)
dy = np.ones(10)
dz = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

ax.bar3d(x, y, z, dx, dy, dz, color="green")
color_tuple = (1.0, 1.0, 1.0, 0.0)

ax.w_xaxis.set_pane_color(color_tuple)
ax.w_yaxis.set_pane_color(color_tuple)
ax.w_zaxis.set_pane_color(color_tuple)
ax.w_xaxis.line.set_color(color_tuple)
ax.w_yaxis.line.set_color(color_tuple)
ax.w_zaxis.line.set_color(color_tuple)

ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])

ax.set_xlabel('X-Axis')
ax.set_ylabel('Y-Axis')
ax.set_zlabel('Z-Axis')

plt.show()

Đầu ra

Làm cách nào để ẩn các trục nhưng vẫn giữ các nhãn trục trong 3D Plot với Matplotlib?