基本字を使って印刷する

人物を創作する.

|boke.ploting|インタフェースを使用して作成されたBokeh描画には、デフォルトツールのセットおよびデフォルトの視覚スタイルが付属していることに注意されたい。見 視覚属性スタイルの設定 描画視覚パターンのカスタマイズ方法に関する情報は、参照されたい 印刷ツールの構成 ツールの変更または指定に関する情報は、参照されたい。

散乱標識

絵に丸印を散布する場合は、ご利用ください circle() vt.方法、方法 Figure

from bokeh.plotting import figure, output_file, show

# output to static HTML file
output_file("line.html")

p = figure(plot_width=400, plot_height=400)

# add a circle renderer with a size, color, and alpha
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="navy", alpha=0.5)

# show the results
show(p)

同様に、四角マークを散布する場合は、ご利用ください square() vt.方法、方法 Figure

from bokeh.plotting import figure, output_file, show

# output to static HTML file
output_file("square.html")

p = figure(plot_width=400, plot_height=400)

# add a square renderer with a size, color, and alpha
p.square([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="olive", alpha=0.5)

# show the results
show(p)

Bokehには利用可能なタグタイプがたくさんあります。以下のリストのエントリをクリックすることで、すべてのタグタイプの詳細および例示的な描画を見ることができます。

All the markers have the same set of properties: x, y, size (in screen units), and angle (radians by default). Additionally, circle() has a radius property that can be used to specify data-space units.

線の字形

単行.

以下の例は、1次元シーケンスから単行字形を生成する方法を示す x そして y 使用 line() 字形方法:

from bokeh.plotting import figure, output_file, show

output_file("line.html")

p = figure(plot_width=400, plot_height=400)

# add a line renderer
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)

show(p)

階段線.

いくつかのタイプのデータの場合、点を線形セグメントで接続するのではなく、データ点間に離散的なステップサイズを描画することがより適切である可能性がある。♪the step() これは、字形方法を使用して実現することができる。

from bokeh.plotting import figure, output_file, show

output_file("line.html")

p = figure(plot_width=400, plot_height=400)

# add a steps renderer
p.step([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2, mode="center")

show(p)

ステップサイズレベルは、x座標の前、後、またはx座標を中心にプロットすることができる。 mode パラメータ

多行である.

時々、複数のラインを一度に印刷するのが有用です。これは使用することで multi_line() 字形方法:

from bokeh.plotting import figure, output_file, show

output_file("patch.html")

p = figure(plot_width=400, plot_height=400)

p.multi_line([[1, 3, 2], [3, 4, 6, 6]], [[2, 1, 4], [4, 7, 8, 5]],
             color=["firebrick", "navy"], alpha=[0.8, 0.3], line_width=4)

show(p)

注釈

この字形は多くの他の字形とは異なる.これは,スカラー値の1次元リストや配列を受け取るのではなく,行ごとのxとy位置,パラメータxsとysの“リストリスト”を受け取る.MULTI_LINEは、色、Alpha、線幅などのパラメータの場合、各行にスカラー値またはスカラリストを有することも望ましい。同様に、データソース列は、スカラリストおよびスカラリストからなるColumnDataSourceを使用することができ、スカラリストの長さおよびリストの長さは一致しなければならない。

欠員点

NaN 値を伝えることができます line() そして multi_line() 字形です。本例では、最終的に単一の論理線オブジェクトを得ることができ、これらのオブジェクトは、レンダリング時に複数の交差しないコンポーネントを有する:

from bokeh.plotting import figure, output_file, show

output_file("line.html")

p = figure(plot_width=400, plot_height=400)

# add a line renderer with a NaN
nan = float('nan')
p.line([1, 2, 3, nan, 4, 5], [6, 7, 2, 4, 4, 5], line_width=2)

show(p)

積み重ね線.

場合によっては、共通のインデックス上に整列されたライン(例えば、時系列のパーセンテージ)がスタックされることが望ましい。♪the vline_stack() そして hline_stack() これを実現するために便利な方法を用いることができる.これらの方法は明示的に提供されています ColumnDataSource (セクションを参照) データを提供する より多くの情報を得ることができます

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, output_file, show

output_file("vline_stack.html")

source = ColumnDataSource(data=dict(
    x=[1, 2, 3, 4, 5],
    y1=[1, 2, 4, 3, 4],
    y2=[1, 4, 2, 2, 3],
))
p = figure(plot_width=400, plot_height=400)

p.vline_stack(['y1', 'y2'], x='x', source=source)

show(p)

条形と長方形

鉄条.

矩形棒グラフ(通常は間隔を示す)を描画する際には、上述した2つのシステムの混合座標を用いた方が一般に便利である。Bokehは hbar() そして vbar() 字形はこの目的に用いる.

X座標、幅、トップ、底の端点を指定(中心)で垂直ストリップを描画する場合は、ご利用ください vbar() 字形関数:

from bokeh.plotting import figure, output_file, show

output_file('vbar.html')

p = figure(plot_width=400, plot_height=400)
p.vbar(x=[1, 2, 3], width=0.5, bottom=0,
       top=[1.2, 2.5, 3.7], color="firebrick")

show(p)

横棒グラフは、y座標、高さ、左右の端点を指定(中心)で描画する場合は、ご利用ください hbar() 字形関数:

from bokeh.plotting import figure, output_file, show

output_file('hbar.html')

p = figure(plot_width=400, plot_height=400)
p.hbar(y=[1, 2, 3], height=0.5, left=0,
       right=[1.2, 2.5, 3.7], color="navy")

show(p)

積み重ねた条形

通常鉄筋を積む必要があります。これは使用することで vbar_stack() そして hbar_stack() 便利な方法です。これらの方法は明示的に提供されています ColumnDataSource (セクションを参照) データを提供する より多くの情報を得る)。

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, output_file, show

output_file("hbar_stack.html")

source = ColumnDataSource(data=dict(
    y=[1, 2, 3, 4, 5],
    x1=[1, 2, 4, 3, 4],
    x2=[1, 4, 2, 2, 3],
))
p = figure(plot_width=400, plot_height=400)

p.hbar_stack(['x1', 'x2'], y='y', height=0.8, color=("grey", "lightgrey"), source=source)

show(p)

積層鉄筋の他の例については、参照 分類データを処理する それがそうです。

長方形の長方形

To draw axis aligned rectangles ("quads") by specifying the left, right, top, and bottom positions, use the quad() glyph function:

from bokeh.plotting import figure, output_file, show

output_file('rectangles.html')

p = figure(plot_width=400, plot_height=400)
p.quad(top=[2, 3, 4], bottom=[1, 2, 3], left=[1, 2, 3],
       right=[1.2, 2.5, 3.7], color="#B3DE69")

show(p)

中心点、幅、高さ、角度を指定して任意の矩形を描く場合は、ご利用ください rect() 字形関数:

from math import pi

from bokeh.plotting import figure, output_file, show

output_file('rectangles_rotated.html')

p = figure(plot_width=400, plot_height=400)
p.rect(x=[1, 2, 3], y=[1, 2, 3], width=0.2, height=40, color="#CAB2D6",
       angle=pi/3, height_units="screen")

show(p)

六角タイル

Bokehは六角形のタイルを描くことができ、これは通常入庫された凝集体を表示するために使用される。♪the hex_tile() 方法は1つを受け入れる size parameter to define the size of the hex grid, and axial coordinates どの寝台が表示されているかを指定する場合は、以下の操作を実行してください。

import numpy as np

from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.util.hex import axial_to_cartesian

output_file("hex_coords.html")

q = np.array([0,  0, 0, -1, -1,  1, 1])
r = np.array([0, -1, 1,  0,  1, -1, 0])

p = figure(plot_width=400, plot_height=400, toolbar_location=None)
p.grid.visible = False

p.hex_tile(q, r, size=1, fill_color=["firebrick"]*3 + ["navy"]*4,
           line_color="white", alpha=0.5)

x, y = axial_to_cartesian(q, r, 1, "pointytop")

p.text(x, y, text=["(%d, %d)" % (q,r) for (q, r) in zip(q, r)],
       text_baseline="middle", text_align="center")

show(p)

次のより現実的な例で使用されています hexbin() 関数を描画し、カラーマッピングカウントを描画します。

import numpy as np

from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.transform import linear_cmap
from bokeh.util.hex import hexbin

n = 50000
x = np.random.standard_normal(n)
y = np.random.standard_normal(n)

bins = hexbin(x, y, 0.1)

p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))

output_file("hex_tile.html")

show(p)

呼び出して hexbin() vt.方法、方法 Figure それがそうです。

有向区域.

有向領域は,共通インデックスを共有する2つの系列間のパディング領域である.例えば、垂直方向領域は1つである x 座標配列と2つのy座標配列は y1 そして y2 これは充填されます

単一区域.

以下のコマンドを使用して、垂直方向に2つの整列された系列間の単一の指向性領域を作成することができる varea() 水平方向に使用したり harea() それがそうです。

from bokeh.plotting import figure, output_file, show

output_file("varea.html")

p = figure(plot_width=400, plot_height=400)

p.varea(x=[1, 2, 3, 4, 5],
        y1=[2, 6, 4, 3, 5],
        y2=[1, 4, 2, 2, 3])

show(p)

スタック領域

一般に、配向領域をスタックする必要がある。これは使用することで varea_stack() そして harea_stack() 便利な方法です。これらの方法は明示的に提供されています ColumnDataSource (セクションを参照) データを提供する より多くの情報を得る)。

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, output_file, show

output_file("varea_stack.html")

source = ColumnDataSource(data=dict(
    x=[1, 2, 3, 4, 5],
    y1=[1, 2, 4, 3, 4],
    y2=[1, 4, 2, 2, 3],
))
p = figure(plot_width=400, plot_height=400)

p.varea_stack(['y1', 'y2'], x='x', color=("grey", "lightgrey"), source=source)

show(p)

面片と多角形

単一のパッチ.

以下の例は、1次元シーケンスから単一のポリゴンパッチ字形を生成する方法を示す x そして y 使用 patch() 字形方法:

from bokeh.plotting import figure, output_file, show

output_file("patch.html")

p = figure(plot_width=400, plot_height=400)

# add a patch renderer with an alpha and line width
p.patch([1, 2, 3, 4, 5], [6, 7, 8, 7, 3], alpha=0.5, line_width=2)

show(p)

複数のパッチ

時々、複数のポリゴンパッチを一度に印刷することが非常に有用である。これは使用することで patches() 字形方法:

from bokeh.plotting import figure, output_file, show

output_file("patch.html")

p = figure(plot_width=400, plot_height=400)

p.patches([[1, 3, 2], [3, 4, 6, 6]], [[2, 1, 4], [4, 7, 8, 5]],
          color=["firebrick", "navy"], alpha=[0.8, 0.3], line_width=2)

show(p)

注釈

この字形は多くの他の字形とは異なる.これは,スカラー値の1次元リストや配列を受け取るのではなく,各スライスのxとy位置,パラメータxsとysの“リストリスト”を受け取る.色、アルファ、線幅などのパラメータの場合、パッチはまた、各パッチのスカラ値またはスカラリストが望ましい。同様に、スカラリストおよびスカラリストからなるColumnDataSourceを使用することができ、スカラリストの長さとリストの長さとが一致しなければならない。

欠員点

Just as with line() and multi_line(), NaN values can be passed to patch() and patches() glyphs. In this case, you end up with single logical patch objects, that have multiple disjoint components when rendered:

from bokeh.plotting import figure, output_file, show

output_file("patch.html")

p = figure(plot_width=400, plot_height=400)

# add a patch renderer with a NaN value
nan = float('nan')
p.patch([1, 2, 3, nan, 4, 5, 6], [6, 7, 5, nan, 7, 3, 6], alpha=0.5, line_width=2)

show(p)

警告

以下のツールを用いてパッチオブジェクトのヒットテストを行います NaN 現在値はサポートされていません。

穴付き多角形

♪the multi_polygons() 字形は入れ子を用いてポリゴンに関する様々な情報を受け取る.どのようなものでも patches() このように表現することもできます multi_polygons() しかし他にも multi_polygons() 各ポリゴン内の穴をレンダリングすることができる.

注釈

この字形は多くの他の字形とは異なる.これは,スカラー値の1次元リストや配列を受け取るのではなく,外部と各ポリゴンの穴を構成する3次xとy位置ネストリストを受け取る.色,Alpha,線幅などのパラメータに対して,MultiPolygonsは項目ごとにスカラー値やスカラーリストを持つことが望ましい.同様に、3次ネストリストおよびスカラリストからなるColumnDataSourceを使用することができ、スカラリストの長さとトップリストの長さとが一致しなければならない。

簡単な多角形

以下の例は、3次ネストされた1次元シーケンスから単一のポリゴン字形を生成する方法を示す x そして y 使用 multi_polygons() 字形方法:

from bokeh.plotting import figure, output_file, show

output_file('multipolygon_simple.html')

p = figure(plot_width=400, plot_height=400)
p.multi_polygons(xs=[[[[1, 1, 2, 2]]]],
                 ys=[[[[3, 4, 4, 3]]]])

show(p)

孔付き多角形

以下の例は、以下の3つのシーケンスから孔付き単一面をどのように生成するかを示す x そして y ポイント。第1のシーケンスはポリゴンの外部を表し、以下のシーケンスは穴を表す。

from bokeh.plotting import figure, output_file, show

output_file('multipolygon_with_holes.html')

p = figure(plot_width=400, plot_height=400)
p.multi_polygons(xs=[[[ [1, 2, 2, 1], [1.2, 1.6, 1.6], [1.8, 1.8, 1.6] ]]],
                 ys=[[[ [3, 3, 4, 4], [3.2, 3.6, 3.2], [3.4, 3.8, 3.8] ]]])

show(p)

独立した部分を持つ多重ポリゴン

1つの概念ポリゴンが複数のポリゴン幾何図形からなる場合がある.以下の例は,複数の系列から多重ポリゴン字形を生成する方法を示す. x そして y ポイント。シーケンス内の各項目は、多重ポリゴンの一部を表す。

from bokeh.plotting import figure, output_file, show

output_file('multipolygon_with_separate_parts.html')

p = figure(plot_width=400, plot_height=400)
p.multi_polygons(xs=[[[ [1, 1, 2, 2], [1.2, 1.6, 1.6], [1.8, 1.8, 1.6] ], [ [3, 4, 3] ]]],
                 ys=[[[ [4, 3, 3, 4], [3.2, 3.2, 3.6], [3.4, 3.8, 3.8] ], [ [1, 1, 3] ]]])

show(p)

複数の多角形

トップ階層入れ子は,各多重ポリゴンを他の多重ポリゴンから分離するために用いられる.各多重ポリゴンは、データソース内の1行と見なすことができ、対応するラベルまたは色を有することができる。

from bokeh.plotting import figure, output_file, show

output_file('multipolygons.html')

p = figure(plot_width=400, plot_height=400)
p.multi_polygons(
    xs=[
        [[ [1, 1, 2, 2], [1.2, 1.6, 1.6], [1.8, 1.8, 1.6] ], [ [3, 3, 4] ]],
        [[ [1, 2, 2, 1], [1.3, 1.3, 1.7, 1.7] ]]],
    ys=[
        [[ [4, 3, 3, 4], [3.2, 3.2, 3.6], [3.4, 3.8, 3.8] ], [ [1, 3, 1] ]],
        [[ [1, 1, 2, 2], [1.3, 1.7, 1.7, 1.3] ]]],
    color=['blue', 'red'])

show(p)

省略号.

♪the ellipse() Glyphメソッドが受け取る属性と rect() しかし楕円形状をレンダリングします

from math import pi

from bokeh.plotting import figure, output_file, show

output_file('ellipses.html')

p = figure(plot_width=400, plot_height=400)
p.ellipse(x=[1, 2, 3], y=[1, 2, 3], width=[0.2, 0.3, 0.1], height=0.3,
          angle=pi/3, color="#CAB2D6")

show(p)

影像.

You can display images on Bokeh plots using the image(), image_rgba(), and image_url() glyph methods. It is possible to use a hover tool with image glyphs to allow for interactive inspection of the values of any pixel. For more information on how to enable hover with images, please consult the Image Hover section of the User's Guide.

原始RGBAデータ

ここでの第1の例は、以下のコマンドを使用して、Bokehマップに元のRGBAデータ中の画像を表示する方法を示す image_rgba()

import numpy as np

from bokeh.plotting import figure, output_file, show

# create an array of RGBA data
N = 20
img = np.empty((N, N), dtype=np.uint32)
view = img.view(dtype=np.uint8).reshape((N, N, 4))
for i in range(N):
    for j in range(N):
        view[i, j, 0] = int(255 * i / N)
        view[i, j, 1] = 158
        view[i, j, 2] = int(255 * j / N)
        view[i, j, 3] = 255

output_file("image_rgba.html")

p = figure(plot_width=400, plot_height=400, x_range=(0, 10), y_range=(0, 10))

p.image_rgba(image=[img], x=[0], y=[0], dw=[10], dh=[10])

show(p)

カラーマッピング画像

グループを提供することもできます スカラー値. また,Bokehにブラウザ中のデータを自動的にカラーマッピングさせる方法を用いた. image() 字形方法。次の例は、この動作をどのように実行するかを示す。

import numpy as np

from bokeh.plotting import figure, output_file, show

output_file("image.html", title="image.py example")

x = np.linspace(0, 10, 250)
y = np.linspace(0, 10, 250)
xx, yy = np.meshgrid(x, y)
d = np.sin(xx)*np.cos(yy)

p = figure(plot_width=400, plot_height=400)
p.x_range.range_padding = p.y_range.range_padding = 0

p.image(image=[d], x=0, y=0, dw=10, dh=10, palette="Spectral11", level="image")
p.grid.grid_line_width = 0.5

show(p)

なお、上記の例では、レンダリングレベルを設定しています "image" それがそうです。通常は全ての字を描きます 上に グリッド線ですが、設定します "image" レンダリングレベルはレンダリングに使用できます 下にある グリッド線です。

線分と光線

複数の個々の線分を一度に描画できることが非常に有用である場合がある.Bokehは segment() そして ray() これらを提示するための字形方法。

The segment() function accepts start points x0, y0 and end points x1 and y1 and renders segments between these:

from bokeh.plotting import figure, show

p = figure(plot_width=400, plot_height=400)
p.segment(x0=[1, 2, 3], y0=[1, 2, 3], x1=[1.2, 2.4, 3.1],
          y1=[1.2, 2.5, 3.7], color="#F4A582", line_width=3)

show(p)

The ray() function accepts start points x, y with a length (in screen units) and an angle. The default angle_units are "rad" but can also be changed to "deg". To have an "infinite" ray, that always extends to the edge of the plot, specify 0 for the length:

from bokeh.plotting import figure, show

p = figure(plot_width=400, plot_height=400)
p.ray(x=[1, 2, 3], y=[1, 2, 3], length=45, angle=[30, 45, 60],
      angle_units="deg", color="#FB8072", line_width=2)

show(p)

楔形と円弧

To draw a simple line arc, Bokeh provides the arc() glyph method, which accepts radius, start_angle, and end_angle to determine position. Additionally, the direction property determines whether to render clockwise ("clock") or anti-clockwise ("anticlock") between the start and end angles.

from bokeh.plotting import figure, show

p = figure(plot_width=400, plot_height=400)
p.arc(x=[1, 2, 3], y=[1, 2, 3], radius=0.1, start_angle=0.4, end_angle=4.8, color="navy")

show(p)

♪the wedge() Glyphメソッドが受け取る属性と arc() しかし充填された楔形をレンダリングするようになります

from bokeh.plotting import figure, show

p = figure(plot_width=400, plot_height=400)
p.wedge(x=[1, 2, 3], y=[1, 2, 3], radius=0.2, start_angle=0.4, end_angle=4.8,
        color="firebrick", alpha=0.6, direction="clock")

show(p)

♪the annular_wedge() 字形法は arc() しかし、充填領域を描画します。それは1つの inner_radius そして outer_radius ただ…。 radius

from bokeh.plotting import figure, show

p = figure(plot_width=400, plot_height=400)
p.annular_wedge(x=[1, 2, 3], y=[1, 2, 3], inner_radius=0.1, outer_radius=0.25,
                start_angle=0.4, end_angle=4.8, color="green", alpha=0.6)

show(p)

最後に、 annulus() 字形方法、それは受け入れます inner_radius そして outer_radius 中実円環を描画するために使用することができる:

from bokeh.plotting import figure, show

p = figure(plot_width=400, plot_height=400)
p.annulus(x=[1, 2, 3], y=[1, 2, 3], inner_radius=0.1, outer_radius=0.25,
          color="orange", alpha=0.6)

show(p)

専門化曲線

Bokehはまた提供します quadratic() そして bezier() パラメータ化二次と三次曲線の字形化方法を作成する。これらの事情はまれである reference documentation もっと細かいことを知っています。

複数の字形を組む

単一の描画上で複数のフォントを組み合わせることは,単一の描画上で複数のフォントメソッドを呼び出す問題である. Figure

from bokeh.plotting import figure, output_file, show

x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 7, 3]

output_file("multiple.html")

p = figure(plot_width=400, plot_height=400)

# add both a line and circles on the same plot
p.line(x, y, line_width=2)
p.circle(x, y, fill_color="white", size=8)

show(p)

この原則は通常|boke.ploting|におけるすべてのフォントメソッドに適用される.任意の数の字形をBokeh図に追加することができる.

範囲を設ける

デフォルトでは,Bokehはデータに近づくように描画されたデータ境界を自動的に設定することを試みる.時々、あなたは図面の範囲を明確に設定する必要があるかもしれない。これは設定することで x_range あるいは…。 y_range 属性使用 Range1d オブジェクト、そのオブジェクト提供 スタートアップ そして end ご希望の範囲内の点:

p.x_range = Range1d(0, 100)

便宜上。 figure() 関数は受け入れられます (開始、終了) として x_range あるいは…。 y_range パラメータです。以下の例は、設定範囲の2つの方法を示す。

from bokeh.models import Range1d
from bokeh.plotting import figure, output_file, show

output_file("title.html")

# create a new plot with a range set with a tuple
p = figure(plot_width=400, plot_height=400, x_range=(0, 20))

# set a range using a Range1d
p.y_range = Range1d(0, 15)

p.circle([1, 2, 3, 4, 5], [2, 5, 8, 2, 7], size=10)

show(p)

範囲も一つあります bounds 属性により、ユーザの平行移動/スケーリングを望まない描画制限を指定することができます。

# set a range using a Range1d
p.y_range = Range1d(0, 15, bounds=(0, None))

軸タイプの指定

上記のすべての例は、デフォルトの線形軸を使用する。この軸は,デジタルデータを線形割合で表示する必要がある多くの描画に適している.他の場合、分類データがある場合や、日付やログスケールでデジタルデータを表示する必要がある場合があります。本節では,|boke.ploting|インタフェースを用いた場合に軸タイプをどのように指定するかについて述べる.

範疇軸.

カテゴリ軸は指定することで FactorRange 描画範囲のうちの1つ(または1に変換する係数リスト)である。以下は簡単な例ですが、完全な詳細についてはご参照ください 分類データを処理する それがそうです。

from bokeh.plotting import figure, output_file, show

factors = ["a", "b", "c", "d", "e", "f", "g", "h"]
x = [50, 40, 65, 10, 25, 37, 80, 60]

output_file("categorical.html")

p = figure(y_range=factors)

p.circle(x, factors, size=15, fill_color="orange", line_color="green", line_width=3)

show(p)

日付時間軸

時系列データまたは日付または時間に関する任意のデータを処理する際には、異なる日付および時間スケールに適したラベルを表示することができる軸を有することが望ましい。

注釈

この例は、実際の時系列データをより容易に提示するために、ネットワーク接続を必要とし、オープンソースのPandasライブラリに依存する。

私たちはどのように使うかを理解しました figure() |boke.ploting|インタフェースを用いて描画の関数を作成する.この関数は受け入れます x_axis_type そして y_axis_type 論拠として。日時軸のご指定は、お渡しください "datetime" この2つのパラメータの値を得ることができます

import pandas as pd

from bokeh.plotting import figure, output_file, show
from bokeh.sampledata.stocks import AAPL

df = pd.DataFrame(AAPL)
df['date'] = pd.to_datetime(df['date'])

output_file("datetime.html")

# create a new plot with a datetime axis type
p = figure(plot_width=800, plot_height=250, x_axis_type="datetime")

p.line(df['date'], df['close'], color='navy', alpha=0.5)

show(p)

注釈

Bokehの将来のバージョンは、日時軸のタイミングで状況を自動検出し、デフォルトでこれらの状況を自動的に追加しようと試みます。

対数目盛軸

指数的に増加または数桁のデータを処理する際には、通常、対数スケールに1つの軸を設定する必要がある。対数目盛りを2つの軸上で使用することが望ましい場合、別のシーンは、べき乗関係を有するデータを描画することに関する。

上に見ているように figure() 関数受容 x_axis_type そして y_axis_type 論拠として。対数軸を指定しますので、お渡しください "log" この2つのパラメータの値を得ることができます

デフォルトの場合,正の値データに適応するように対数軸範囲を計算する.ご自分の範囲を設定するには、ご参照ください 範囲を設ける それがそうです。

from bokeh.plotting import figure, output_file, show

x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]
y = [10**xx for xx in x]

output_file("log.html")

# create a new plot with a log axis type
p = figure(plot_width=400, plot_height=400, y_axis_type="log")

p.line(x, y, line_width=2)
p.circle(x, y, fill_color="white", size=8)

show(p)

2軸.

異なる範囲を表す複数の軸を単一の描画に追加することができる。この操作を実行するためには,“Extra”の名前範囲を用いて描画を構成してください extra_x_range そして extra_y_range 財産です。そして,新たな字形手法を追加する際にこれらの命名範囲を引用することも可能であり,利用可能である add_layout 開け方 Plot それがそうです。以下に例を示す.

from numpy import arange, linspace, pi, sin

from bokeh.models import LinearAxis, Range1d
from bokeh.plotting import figure, output_file, show

x = arange(-2*pi, 2*pi, 0.1)
y = sin(x)
y2 = linspace(0, 100, len(y))

output_file("twin_axis.html")

p = figure(x_range=(-6.5, 6.5), y_range=(-1.1, 1.1))

p.circle(x, y, color="red")

p.extra_y_ranges = {"foo": Range1d(start=0, end=100)}
p.circle(x, y2, color="blue", y_range_name="foo")
p.add_layout(LinearAxis(y_range_name="foo"), 'left')

show(p)