You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matplotlib 3D图中设置z轴刻度的字体类型

解决Matplotlib 3D图z轴刻度字体设置问题

报错原因很直接:matplotlib.pyplot 没有 zticks() 这个函数——plt.xticks()/plt.yticks() 是针对2D坐标轴的快捷API,3D图的z轴需要通过Axes3D实例来操作。

以下是两种可行的解决方法:

方法1:使用tick_params()统一设置

先创建3D坐标轴实例,再通过tick_params()分别指定各轴的字体:

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

# 创建3D绘图对象
fig = plt.figure()
ax = fig.add_subplot(projection='3d')

# 绘制你的3D图形(示例:散点图)
ax.scatter([1,2,3], [4,5,6], [7,8,9])

# 设置三个轴的刻度字体为Times New Roman
ax.tick_params(axis='x', fontfamily='Times New Roman')
ax.tick_params(axis='y', fontfamily='Times New Roman')
ax.tick_params(axis='z', fontfamily='Times New Roman')

plt.show()

方法2:通过轴对象直接修改刻度标签

获取z轴的刻度后,用set_zticklabels()指定字体:

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

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.scatter([1,2,3], [4,5,6], [7,8,9])

# 获取当前z轴刻度值,再设置字体
z_ticks = ax.get_zticks()
ax.set_zticklabels(z_ticks, fontproperties='Times New Roman')

# 同时设置x、y轴(也可以用这种方式)
x_ticks = ax.get_xticks()
ax.set_xticklabels(x_ticks, fontproperties='Times New Roman')
y_ticks = ax.get_yticks()
ax.set_yticklabels(y_ticks, fontproperties='Times New Roman')

plt.show()

如果需要连轴标签(xlabel/ylabel/zlabel)也统一字体,可以补充:

ax.set_xlabel('X Axis', fontproperties='Times New Roman')
ax.set_ylabel('Y Axis', fontproperties='Times New Roman')
ax.set_zlabel('Z Axis', fontproperties='Times New Roman')

内容的提问来源于stack exchange,提问作者Manfred L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 21:25:23