先抛问题:(放在函数不显示,但直接写进脚本中会有图表显示)
如下图:
解决办法:
函数返回" .render_notebook "直接调用就好了
不要放进if __name__ == '__main__':中去
下面是解释:
当你在 Jupyter Notebook 中使用 if __name__ == '__main__': 条件语句并且在其内部调用显示图表的函数时,可能不会看到图表显示出来。这是因为 __name__ == '__main__' 在 Jupyter Notebook 中的行为与在标准 Python 脚本中运行时不同。
在一个标准的 Python 脚本中,当该脚本被直接运行时,__name__ 变量被设置为 '__main__'。因此,if __name__ == '__main__': 块中的代码将执行。这经常用于脚本运行时执行某些代码,比如运行测试或者启动一个程序。
然而,在 Jupyter Notebook 中,每个单元格通常都是在其自己的作用域中运行,__name__ 变量设置为 '__main__',但是 Notebooks 的执行模型使得 if __name__ == '__main__': 模式不是必须的,也不总是按预期工作。Notebook 单元格是为了交互式计算设计的,因此通常你会直接调用函数而不是将它们放在 if __name__ == '__main__': 语句中。
如果你想在 Jupyter Notebook 中显示 pyecharts 图表,你只需直接调用函数并确保它以 .render_notebook() 结尾
------------------------------此处为分割线----------------------------
下面来谈一下如何将pyecharts的图表显示在一个notebook运行单元中
我们这样写会发现,只有最后一个图表.render_notebook显示了
要想同时出现在一个运行单元中,我们可以这样做:
from pyecharts.charts import Page
# 将图表组合到一个页面中
page = Page()
page.add(bar)
page.add(line)
page.add(pie)
page.render_notebook()
这样就会发现都出现在了一个运行单元内了