考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

阅读以下代码,关于最终生成的图像内容,预测最准确的是? import matplotlib.pyplot as plt # 第一组操作 plt.figure(figsize=(5, 5)) plt.plot([1, 2, 3], [1, 4, 9], label='Square') plt.legend() # 第二组操作 plt.figure(figsize=(5, 5)) plt.plot([1, 2, 3], [1, 8, 27], label='Cube') # 注意:这里没有再次调用 plt.legend() plt.show()
A. 显示两张图。第一张图有图例 "Square",第二张图也有图例 "Square"(因为状态被保留了)。
B. 显示两张图。第一张图有图例 "Square",第二张图没有图例。
C. 只显示一张图,包含了 "Square" 和 "Cube" 两条线,且图例只显示 "Cube"。
D. 代码报错,因为在创建新 figure 后不能直接使用 plt.plot 而不指定 axes。
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

原理考察:Matplotlib 的 pyplot 模块是基于状态机(State Machine)的。plt.figure() 会创建一个新的 Figure 并将其设为“当前(current)”Figure,随后的 plt.plot 等操作都会作用于这个“当前”Figure 的“当前”Axes。 代码分析: plt.figure() 创建 Figure 1。 plt.plot 在 Figure 1 上绘图。 plt.legend() 在 Figure 1 上生成图例。 plt.figure() 再次调用,创建 Figure 2,并将其设为“当前”。此时焦点完全转移到 Figure 2,Figure 1 的状态(包括是否有图例)已固定。 plt.plot 在 Figure 2 上绘图。 代码中未对 Figure 2 调用 plt.legend()。 plt.show() 渲染所有创建的 Figure。 结论:Figure 1 有图例,Figure 2 没有图例。 错误选项分析: A 错:plt.figure() 切换了上下文,新图不会自动继承旧图的图例对象(除非手动复制 artist,但这里没做)。 C 错:plt.figure() 会新建窗口/画布,不会将线条画在同一张图上(除非使用 plt.subplot 或不调用 plt.figure 直接在当前图追加)。 D 错:pyplot 的设计允许在不显式获取 axes 对象的情况下绘图,它会自动处理。