Двойная ось с линейной и логарифмической шкалой с использованием Python Bokeh PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Двойная ось с линейной и логарифмической шкалой с использованием Python Bokeh Python

Сообщение Anonymous »

У меня есть линейный сюжет Bokeh в рамках Bokeh версии 3.3.0.
Я хотел бы добавить график (разбросан) на дополнительную оси x с логарифмической шкалой.
Это мой код: < /p>

Код: Выделить всё

import pandas as pd
from bokeh.plotting import figure, show, ColumnDataSource
from bokeh.layouts import gridplot
from bokeh.models import LogAxis, LinearAxis, Label, LabelSet, Title, Range1d

# A simple dataframe with time, UTCs, altitude and two columns of imaginary data
df = pd.DataFrame([['2024-06-21 06:22:38', 605.968389, 0.994548, 3],
['2024-06-21 06:22:39', 616.009398, 0.983443, 4],
['2024-06-21 06:22:40', 624.630573, 0.973647, 1],
['2024-06-21 06:22:41', 633.476367, 1.017651, 2],
['2024-06-21 06:22:42', 642.322161, 5.017651, 2],
['2024-06-21 06:22:43', 650.268389, 30.726555, 4],
['2024-06-21 06:22:44', 659.559398, 89.2359, 5],
['2024-06-21 06:22:45', 665.630573, 6.92018, 3],
['2024-06-21 06:22:47', 673.476367, 0.69398, 2],
['2024-06-21 06:22:48', 685.322161, 0.770802, 1],
['2024-06-21 06:22:49', 697.155939, 0.856488, 0],
['2024-06-21 06:22:51', 716.763057, 0.934408, 3],
['2024-06-21 06:22:52', 722.012345, 7.865522, 2],
],
columns=['time', 'Altitude', 'log_data', 'linear_data'])

#Linear Plot with second x-axis in logarithmic scale
p = figure(title="Combined linear / log x-axes",
x_axis_label="Linear Data",
y_axis_label="Altitude / km",
x_axis_type='linear',
frame_height = 900,
frame_width = 650,
)
p.xaxis.axis_label_text_color = "red"

# linear data
p1 = p.line('linear_data',
'Altitude',
line_color='red',
line_width=2,
source = df)

# log data
p.add_layout(LinearAxis(x_range_name = "x2",
axis_label="Log data",
axis_label_text_color='blue',),
'below' )

p2 = p.scatter('log_data',
'Altitude',
line_color='blue',
line_width=2,
x_range_name = 'x2',
source = df)

# Range of additional x-axis:
p.extra_x_ranges = {"x2": Range1d(start = 0,
end = 115),
}

# Graphical output:
layout_p =  gridplot([p], ncols=1, width=700, height=900)
show(layout_p)
I Изменил LineAraxis в logaxis
# log data
p.add_layout(LogAxis(x_range_name = "x2",
axis_label="Log data",
axis_label_text_color='blue',),
'below' )
< /code>
Но это вызвало отображение второй оси без каких -либо клещей, а график рассеяния все еще был показан на линейной основе.
Любой подсказка для меня? < /p>

Подробнее здесь: https://stackoverflow.com/questions/795 ... lot-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»