【问题标题】:I expect that i will have image via matplotlib.pyplot我希望我将通过 matplotlib.pyplot 获得图像
【发布时间】:2018-01-22 15:38:28
【问题描述】:

我是 python 的新手,主要是因为 coursera 的讲座。 这个讲座有 Jupyter notebook,你可以在其中查看在 webplatform 上执行 python 代码我是如何得到它的。

Jupyter notebook

所以我决定在我的 PC 上编译这个程序(安装 python、pip、ma​​tplotlib 等等)并将其用作某种 python 101。

现在我的代码正在编译,但我没有任何图像输出(idk 也许它不应该,哈哈)

我开始使用的示例代码:

  1 from __future__ import print_function  
  2 import matplotlib                                                                                                   
  3 matplotlib.use('Agg')
  4 import matplotlib.pyplot as plt
  5 import numpy as np
  6 import math
  7
  8 print("hello world!")
  9 SIZE=4
 10 img = np.zeros((SIZE,SIZE))
 11 for n in range (0, SIZE):
 12     for m in range (0,SIZE):
 13         if (n & 0x1) ^ (m & 0x1):
 14             img[n, m] = 255
 15
 16 plt.matshow(img);

之后:$ python file_name.py 我刚刚输出了 Hello World。 (WSL 在寡妇上使用)

我该怎么做才能展示我的情节?

gif with my sequencing

【问题讨论】:

  • 最后加plt.show()
  • @DavidG,感谢我尝试过的提示答案,但它什么也没做。
  • 现在我认为plt.matshow(img) 应该和plt.show() 一样。

标签: python python-2.7 matplotlib


【解决方案1】:

使用matplotlib.use('Agg') 特别要求不要渲染任何输出。

在 jupyter notebook 中,将这一行替换为

%matplotlib inline

将 png 图像打印为输出或

%matplotlib notebook

获取交互式图形。最后是否需要使用plt.show() 取决于具体情况,如果您在单元格中明确创建图形,则不需要。

在 jupyter notebook 之外,例如使用通常的 python 脚本。您只需删除行 matplotlib.use('Agg') 或将其替换为一些交互式后端,例如

matplotlib.use('TkAgg')

matplotlib.use('QtAgg')

在这些情况下,您特别需要调用plt.show() 来调用交互式绘图窗口。

【讨论】:

  • 我不使用 Jupyter notebook 现在只有我和我理解的 python 编译器。
  • 从问题中并不清楚,但论点是相似的。我更新了答案以涵盖这两种情况。
  • 我应该安装 jupyter notebook 和 IPython 还是有一些解决方法,我可以用普通的 python 编译器和文本编辑器完成我的“作业”?
  • 无需安装 Jupyter。我刚刚给出了这个答案,因为这个问题读起来好像你已经在使用它了。如果要运行脚本,请参阅答案的第二部分。 (顺便说一句。python 是解释的,而不是编译的。)
  • 具有默认设置的 Xming 服务器开箱即可为我解决问题
猜你喜欢
  • 2012-11-18
  • 1970-01-01
  • 2022-12-22
  • 1970-01-01
  • 2022-10-14
  • 2017-05-14
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
相关资源
最近更新 更多