web-dev-qa-db-ja.com

ボケの図のX軸とY軸のラベル

誰もがボケの図にx軸とy軸のタイトル/ラベルを追加する方法を知っていますか?例えば。 X軸:時間、Y軸:株価。

どうもありがとう!

22
user3361508

Bokeh 0.11.1の時点で、 軸に関するユーザーガイドセクション は、既存の軸のプロパティを編集する方法を示しています。その方法は以前と同じです:

p = figure(width=300, height=300, x_axis_label='Initial xlabel')
p.xaxis.axis_label = 'New xlabel'
30
thorbjornwolf

この例を確認してください: periodic table

また、レンダラー関数(その例ではtitle)の代わりにfigure(...)への呼び出しに一般的なプロット関連オプション(_plot_width_、circleなど)を与えることができます。

8
bigreddot

CustomJSを使用して軸ラベルを変更するこの手法を思い付きました。

  1. fig = figure(...)宣言で、x_axis_locationand y_axis_location最終軸にしたくない場所。たとえば、最後の図の下部にx軸、左側にy軸を配置する場合は、次を設定します。

    x_axis_location='above', y_axis_location='right'
    
  2. 元の軸を非表示にします。

    fig.xaxis.visible = None
    fig.yaxis.visible = None
    
  3. 新しい軸を宣言して、図に追加します(つまり、手順1で設定した軸の反対側に追加します)。

    from bokeh.models import LinearAxis
    xaxis = LinearAxis(axis_label="Initial x-axis label")
    yaxis = LinearAxis(axis_label="Initial y-axis label")
    fig.add_layout(xaxis, 'below')
    fig.add_layout(yaxis, 'left')
    
  4. CustomJSの引数に新しい軸を追加します。ここで、axis_labels:

    callback = CustomJS(args=dict(source=source,
                                  xaxis=xaxis,
                                  yaxis=yaxis), code="""
    
        xaxis.attributes.axis_label = "New x-axis label";
        yaxis.attributes.axis_label = "New y-axis label";
        xaxis.change.emit();
        yaxis.change.emit();
    
        """)
    
1
tuomastik
from bokeh.plotting import figure, output_file, show
from bokeh.models.annotations import Title
p = figure(plot_width=1300, plot_height=400,x_axis_type="datetime")
p.xaxis.axis_label = 'Time'
p.yaxis.axis_label = 'Stock Price'
p.line(time,stock_price)
t = Title()
t.text = 'Stock Price during year 2018'
p.title = t
show(p)
1
Zeref