python - 执行脚本时不显示绘图
问题描述
当我通过命令行执行我的脚本py planck.py
时,绘图没有显示,但是当我使用我的 Spyder IDE 时,绘图能够显示,但我不确定为什么它没有通过命令行显示。
import numpy as np
from pylab import *
def BB_wl(wavel, temp):
# wavel in micron
c1=1.191042E8 # W/m2-sr-um4
c2=1.4387752E4 # K mu
value = c1 / (wavel**5*(np.exp(c2/(wavel*temp))+5.0E4))
return value # in W/m2-sr-um
my_figure = figure(figsize=(10,4))
main_axes = my_figure.add_axes([0.1, 0.1, 0.8, 0.8])
main2_axes = main_axes.twiny()
main2_axes.set_xlabel('Frequency [THz]',size="x-large")
main2_axes.set_xticklabels(["3000", "2257", "1515", "772", "30"])
small_ax = my_figure.add_axes( [0.35, 0.5, 0.25, 0.3] )
main_axes.set_xlabel('Wavelength [micron]', size="x-large")
main_axes.set_ylabel(r'$[\mathrm{Wm^{-2} \, \mu m^{-1}}]$',size="x-large")
wave = np.linspace(1,10,1000)
spectral = BB_wl(wave, 1000)/100
main_axes.plot(wave, spectral, color="red", linewidth=3)
small_ax.plot(wave, spectral, color="blue", linewidth=3)
my_figure.show()
my_figure.savefig('planck.png', bbox_inches='tight')
解决方案
因为脚本一直运行到最后。
尝试通过停止脚本
x = input("press key to exit")
将其添加到脚本的末尾。在这种情况下,您的脚本将等待,您将能够看到该图。我希望这有帮助。
推荐阅读
- javascript - 在 POST 数组中传递默认值
- java - 需要将 ArrayList 中的整数存储在尽可能少的容器中
- python - 如何根据两列的值删除重复的行?
- c# - 如何使用用户选择的背景颜色覆盖图标的默认背景?
- angular - 无法将 Angular 自定义元素与其他 Angular 应用程序一起使用
- java - 打印带有条件的二维数组
- c++ - 无法理解 ns-3 源代码中 getter 方法的 Constructor() 语法
- laravel - 未找到列:1054 未知列“where 子句”中的“orders.deleted_at”
- odoo - Odoo - odoo 配置文件中的 xmlrc_port 和 http_port 参数有什么区别?
- c++ - 如何将 CLI 类的函数指针作为参数传递给 C++ 方法