3D轴刻度,标签和LaTeX

8 浏览
0 Comments

3D轴刻度,标签和LaTeX

我正在运行示例脚本,并进行以下修改:

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
mpl.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax.plot(x, y, z, label='参数曲线')
ax.legend()
ax.set_xlabel('$X$', fontsize=20, rotation=150)
ax.set_ylabel('$Y$')
ax.set_zlabel(r'$\gamma$', fontsize=30, rotation=60)
ax.yaxis._axinfo['label']['space_factor'] = 3.0
plt.show()

  1. 我如何调整坐标轴刻度为我想要的刻度?即,如何让z轴只标记2、0和-2,并以我想要的字体大小?我知道如何在二维中做到这一点,但不知道如何在三维中做到。
  2. 上述脚本产生以下结果:

enter image description here

为什么x轴标签失真,而我想用这个脚本实现的效果却没有发生在z轴标签(gamma)上?这没有道理。我需要用希腊字母标记此轴。如何修复这个问题?

0