Python 调整matplotlib中三维打印的轴标签和名称方向

Python 调整matplotlib中三维打印的轴标签和名称方向,python,matplotlib,Python,Matplotlib,我正在使用matplotlib制作此3D绘图: ax.plot_surface(x_surf, y_surf, np.reshape(npp, (max_temp/step, max_temp/step)), linewidth=0.2,cmap=palettable.colorbrewer.sequential.Greens_9.mpl_colormap) 如何使轴标签和轴名称看起来更像此绘图: 据我所知,您需要更改“轴标签”和“轴名称” 不幸的是,我只能做其中的一部分(我希望这对你来说是新

我正在使用matplotlib制作此3D绘图:

ax.plot_surface(x_surf, y_surf, np.reshape(npp, (max_temp/step, max_temp/step)), linewidth=0.2,cmap=palettable.colorbrewer.sequential.Greens_9.mpl_colormap)
如何使轴标签和轴名称看起来更像此绘图:

据我所知,您需要更改“轴标签”和“轴名称”

不幸的是,我只能做其中的一部分(我希望这对你来说是新的,并且其他人能找到它的第二部分):

为了获得上面的图片,我做了一些修改

import matplotlib.pyplot as plt
from matplotlib.patches import Circle, PathPatch
# register Axes3D class with matplotlib by importing Axes3D
from mpl_toolkits.mplot3d import Axes3D
import mpl_toolkits.mplot3d.art3d as art3d
from matplotlib.text import TextPath
from matplotlib.transforms import Affine2D

def text3d(ax, xyz, s, zdir="z", size=None, angle=0, usetex=False, **kwargs):

    x, y, z = xyz
    if zdir == "y":
        xy1, z1 = (x, z), y
    elif zdir == "y":
        xy1, z1 = (y, z), x
    else:
        xy1, z1 = (x, y), z

    text_path = TextPath((0, 0), s, size=size, usetex=usetex)
    trans = Affine2D().rotate(angle).translate(xy1[0], xy1[1])

    p1 = PathPatch(trans.transform_path(text_path), **kwargs)
    ax.add_patch(p1)
    art3d.pathpatch_2d_to_3d(p1, z=z1, zdir=zdir)


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

ax.tick_params(axis='x',direction='out', length=6, width=2, colors='r')

text3d(ax, (4, -2, 0), "X-axis", zdir="z", size=.5, usetex=False,
       ec="none", fc="k")
text3d(ax, (12, 4, 0), "Y-axis", zdir="z", size=.5, usetex=False,
       angle=.5*3.14159, ec="none", fc="k")
text3d(ax, (12, 10, 4), "Z-axis", zdir="y", size=.5, usetex=False,
       angle=.5*3.14159, ec="none", fc="k")

ax.set_xlim3d(0, 10)
ax.set_ylim3d(0, 10)
ax.set_zlim3d(0, 10)

plt.show()
我本来希望找到如何发展这个问题的第二部分,但我还没有找到


希望这有帮助

现在我也感兴趣,第二个轴看起来更酷!谢谢@awdk,这是一个很好的开始,希望有人能完成第二部分,我没有用python跟踪,但这似乎是多余的:
elif zdir==“y”: