For*_*t17 16 python 3d latex matplotlib mplot3d
我正在运行此示例脚本,并进行了以下修改:
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='parametric curve')
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()
Run Code Online (Sandbox Code Playgroud)
如何将轴刻度调整为我选择的轴刻度?即,我如何让z轴仅标记为2,0和-2,以及我想要的字体大小?我知道如何在2D而不是3D中执行此操作.
上面的脚本产生以下内容:
为什么x轴标签失真,我想用这个脚本做,但不是z轴标签(gamma)?这根本不符合逻辑.我需要在希腊字母中标注这个轴.我该如何解决?
Ser*_*ity 19
如何将轴刻度调整为我选择的轴刻度?即,我如何让z轴仅标记为2,0和-2,以及我想要的字体大小?我知道如何在2D而不是3D中执行此操作.
你必须改变的属性zticks
.
为什么x轴标签失真,我想用这个脚本做,但不是z轴标签(gamma)?这根本不符合逻辑.我需要在希腊字母中标注这个轴.我该如何解决?
您必须为z轴标签禁用自动旋转.看下面的代码:
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='parametric curve')
ax.legend()
ax.set_xlabel('$X$', fontsize=20)
ax.set_ylabel('$Y$')
ax.yaxis._axinfo['label']['space_factor'] = 3.0
# set z ticks and labels
ax.set_zticks([-2, 0, 2])
# change fontsize
for t in ax.zaxis.get_major_ticks(): t.label.set_fontsize(10)
# disable auto rotation
ax.zaxis.set_rotate_label(False)
ax.set_zlabel('$\gamma$', fontsize=30, rotation = 0)
plt.show()
Run Code Online (Sandbox Code Playgroud)
小智 5
for 循环不是必需的,要更改刻度的大小,您可以使用:
ax.zaxis.set_tick_params(labelsize=10)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34830 次 |
最近记录: |