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

如何在NetworkX中添加y轴刻度标签?现有配置无法显示全部刻度

问题解决方法

你代码失效的核心原因是执行顺序错误:plt.locator_params()用来调整y轴刻度的位置和数量,你把它放在ax.set_yticklabels()之后,会先修改刻度配置、覆盖你之前设置的标签,自然无法得到预期效果。

正确的逻辑是先固定y轴的刻度位置,再设置对应刻度的标签,修改后的代码如下:

fig, ax = plt.subplots(figsize=(10, 5))
plt.title('Transportation Network')
#nx.draw_networkx_labels(GR, pos_dict)
nx.draw(g, pos=node_positions, edge_color=edge_colors, node_size=40, node_color='black', ax=ax)
plt.xlabel('Time ( 1 epoch= 15 mins)')
plt.ylabel("Cities")
ax.set_axis_on()
ax.tick_params(left=True, bottom=True, labelleft=True, labelbottom=True)

# 可先运行下面这行打印当前y轴的数值范围,按需调整刻度位置
# print(ax.get_ylim())
# 先指定3个y轴刻度的位置,根据你的实际坐标范围调整数值即可
ax.set_yticks([0, 1, 2])
# 再设置对应刻度的标签
ax.set_yticklabels(['C','B','A'])

如果不想手动指定刻度位置,也可以保持plt.locator_params配置,只要把它挪到ax.set_yticklabels前面即可:

plt.locator_params(axis="y", nbins=3)
ax.set_yticklabels(['C','B','A'])

内容的提问来源于stack exchange,提问作者Romio Rodriguez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:06:01