【发布时间】:2018-09-27 13:13:29
【问题描述】:
在 Jupyter Notebook 中显示图形时 plot() 和 iplot() 有什么区别?
【问题讨论】:
标签: python pandas matplotlib plotly
在 Jupyter Notebook 中显示图形时 plot() 和 iplot() 有什么区别?
【问题讨论】:
标签: python pandas matplotlib plotly
提供了正确答案。我尝试在 pycharm IDE 中运行此代码,但不能。绘制 iplot 需要 jupyter notebook。
【讨论】:
iplot 是交互式情节。 Plotly 使用 Python 代码制作漂亮的 JavaScript 绘图。它们使您可以对这些图的外观进行大量控制,并且可以缩放、显示悬停信息以及切换要在图表上查看的数据。 Tutorial.
plot command = Matplotlib,它更老派。它会创建静态图表。因此实际上没有太多悬停信息,您必须重新运行代码才能更改任何内容。它是在MATLAB 之后制作的,这是一个较旧的程序,所以有人说它看起来更糟。虽然它有很多选项,但可以让您很好地控制情节。如果您拥有庞大的数据集,它的创建速度可能会比 Plotly 图表更快,但我不会怀疑太多。 Tutorial。
Matplotlib 是标准的,并且已经存在了更长的时间,所以有很多关于它的信息。 Here 是一篇关于 Python 中不同绘图包的博文。
【讨论】:
我刚开始在 Python (3.6.6) 中使用 iplot()。我认为它使用 Cufflinks 包装器而不是在引擎盖下运行 Matplotlib 的情节。这似乎是我用简单的一行代码获得交互式绘图的最简单方法。
虽然它需要一些库来设置。例如,以下代码适用于 macOS 上的 Jupyter Notebook (5.0.0)。此处附加的图是 PNG,因此不是交互式的。
示例:(1) Line plot (2) Bar plot {下面的代码}
# Import libraries
import pandas as pd
import numpy as np
from plotly import __version__
%matplotlib inline
import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)
init_notebook_mode(connected=True)
cf.go_offline()
# Create random data
df = pd.DataFrame(np.random.randn(100,4), columns='Col1 Col2 Col3 Col4'.split())
df.head(2)
# Plot lines
df.iplot()
# Plot bars
df.iplot(kind='bar')
【讨论】: