AtomのHydrogenでMatplotlib, Bokeh, HoloViewsおよび他ライブラリのプロットを表示する
はじめに
AtomのHydrogenでMatplotlib, Bokeh, HoloViewsのプロットを表示する方法です。
Matplotlib
import matplotlib.pyplot as plt
plt.scatter([1, 2, 3], [1, 2, 3])
import matplotlib.pyplot as plt
plt.scatter([1, 2, 3], [1, 2, 3])
Jupyter Notebookで必要な
%matplotlib inline
は要りません。
Bokeh
from bokeh.plotting import figure, output_notebook, show
from bokeh.resources import INLINE
output_notebook(INLINE)
plot = figure()
plot.circle([1, 2, 3], [1, 2, 3])
show(plot)
from bokeh.plotting import figure, output_notebook, show
from bokeh.resources import INLINE
output_notebook(INLINE)
plot = figure()
plot.circle([1, 2, 3], [1, 2, 3])
show(plot)
output_notebook
がないと外部ブラウザにプロットが表示されてしまいます。INLINE
は必ずしも必要ないですが、こうすると、BokehJS x.x.x successfully loaded.のメッセージが確認できます。
HoloViews
プロットの準備
import numpy as np
import pandas as pd
import holoviews as hv
xs = np.arange(-10, 10.5, 0.5)
ys = 100 - xs**2
df = pd.DataFrame(dict(x=xs, y=ys))
curve = hv.Curve(df,'x','y')
ここまでは特定の可視化ライブラリに依存していません。
バックエンドがMatplotlibの場合
hv.extension('matplotlib')
hv.render(curve)
バックエンドがBokehの場合
from bokeh.io import show
hv.extension('bokeh')
show(hv.render(curve))
HoloViewsを通してBokehのプロット表示する際には、output_notebook
は不要です。また、Jupyter Notebookの場合は、curve
をセルの最後に入力するだけでプロットが表示されますが、Hydrogenの場合は、hv.render
や(Bokehの場合には)show
が必要となるようです。
hvPlot
import pandas as pd
import numpy as np
import holoviews as hv
import hvplot.pandas
from bokeh.plotting import show
idx = pd.date_range('1/1/2000', periods=1000)
df = pd.DataFrame(np.random.randn(1000, 4), index=idx,
columns=list('ABCD')).cumsum()
show(hv.render(df.hvplot()))
Altair
import altair as alt
import pandas as pd
source = pd.DataFrame({
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
alt.Chart(source).mark_bar().encode(x='a', y='b')
Author And Source
この問題について(AtomのHydrogenでMatplotlib, Bokeh, HoloViewsおよび他ライブラリのプロットを表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/daizutabi/items/f3f36f21294789dd8c6f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .