Code Workbook中可视化未显示在对应节点的问题咨询
解决Code Workbook中Matplotlib图表显示异常的问题
显式控制画布生命周期
Matplotlib默认会复用全局绘图对象,这是导致图表串节点或丢失的核心原因。每绘制完一个图表后,必须显式关闭画布:import matplotlib.pyplot as plt # 绘制第一个图表 plt.figure() plt.plot([1,2,3], [4,5,6]) plt.title("图表1") plt.show() plt.close() # 关闭当前画布,避免后续图表复用 # 绘制第二个图表 plt.figure() plt.bar([1,2,3], [7,8,9]) plt.title("图表2") plt.show() plt.close()拆分图表到对应节点
不要在单个节点里堆所有绘图代码,把每个图表的逻辑拆分到对应的下游节点中:- 节点1:只写折线图的绘制代码
- 节点2:只写柱状图的绘制代码
这样运行下游任务时,每个节点只会生成对应的图表。
检查节点输出配置
确认每个下游节点的设置里,已经开启了"显示可视化输出"的选项,部分Code Workbook平台需要手动勾选才会渲染Matplotlib图表。改用面向对象API绘图
相比pyplot的全局状态模式,面向对象API能精准控制每个图表实例,避免串图问题:import matplotlib.pyplot as plt # 创建第一个独立图表 fig1, ax1 = plt.subplots() ax1.plot([1,2,3], [4,5,6]) ax1.set_title("图表1") plt.show() plt.close(fig1) # 创建第二个独立图表 fig2, ax2 = plt.subplots() ax2.bar([1,2,3], [7,8,9]) ax2.set_title("图表2") plt.show() plt.close(fig2)
内容的提问来源于stack exchange,提问作者Max Magid
相关产品推荐
相关产品推荐

