Подтвердить что ты не робот

Ось X и Y для фигуры Боке

Кто-нибудь знает, как добавить заголовок/метки оси x и y для фигуры Боке? Например. Ось X: время, ось Y: цена акций.

Спасибо большое!

4b9b3361

Ответ 1

Начиная с Bokeh 0.11.1, в разделе руководства пользователя по осям теперь показано, как редактировать свойства существующих осей. Способ сделать так же, как и раньше:

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

Ответ 2

Проверьте этот пример: elements.py

Теперь вы также можете назначить общие параметры, связанные с графиком (plot_width, title и т.д.), Вызовом figure(...) вместо функции рендеринга (в данном примере circle)

Ответ 3

Я придумал эту технику для изменения меток оси с помощью CustomJS:

  1. В объявлении fig = figure(...) установите x_axis_location и 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_label:

    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();
    
        """)
    

Ответ 4

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)