【问题标题】:Disable the output of matplotlib pyplot禁用 matplotlib pyplot 的输出
【发布时间】:2012-08-16 20:56:34
【问题描述】:

我有一个形状为 (1000, 2000) 的数组 A。我使用 matplotlib.pyplot 绘制数组,这意味着 1000 条曲线,使用

import matplotlib.pyplot as plt
plt(A)

图不错但是有一千行:

<matplotlib.lines.Line2D at 0xXXXXXXXX>

我可以禁用这个输出吗?

【问题讨论】:

  • 只是为了强调我在回答中陈述的内容并解释我所做的编辑之一,您看到的不是“文本输出”,而是 matplotlib 函数返回的对象的字符串表示形式。从这个字符串中,我们看到该函数正在返回一个matplotlib.lines.Line2D 对象。考虑到documentation,这是有道理的:返回值是添加的行列表。另外,看看__str__

标签: python matplotlib


【解决方案1】:

此输出是 plt 函数返回的内容(我假设您的意思是写 plt.plot(A))。要禁止此输出,请为返回对象指定一个名称:

_ = plt.plot(A)

_ 通常用于表示以后不会使用的临时对象。请注意,您看到的此输出只会出现在解释器中,而不是当您从解释器外部运行脚本时。

【讨论】:

    【解决方案2】:

    您还可以在最后使用; 来抑制输出(假设您是在某种交互式环境中执行此操作)

     plot(A);  
    

    【讨论】:

      【解决方案3】:

      plt.show()

      这样就不需要创建不必要的变量了。

      例如:

      import matplotlib.pyplot as plt
      
      plt.plot(A)
      plt.show()
      

      【讨论】:

      • 在 Jupyter Notebook 中,通常还运行 line magic:%matplotlib inline。我一直认为 plt.show() 在那之后就不需要了。但是,当您想要绘制与打印语句交错的图形时,这仍然很有帮助。谢谢!
      【解决方案4】:

      在绘图命令后使用分号

      例如: plt.imshow(图像,cmap);

      将显示图表并停止详细说明

      【讨论】:

        猜你喜欢
        • 2012-02-19
        • 2022-07-07
        • 1970-01-01
        • 1970-01-01
        • 2021-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多