Я написал код ниже для создания линейного графика на основе данных из блока данных Pandas. Индекс кадра данных представляет собой временной ряд.Python Bokeh дополнительные задачи оси Y
Код ниже работал хорошо, но я решил добавить еще одну серию данных (из третьего столбца в моем фреймворке, называемом «Col3» в коде). Я хотел, чтобы эта третья серия была на отдельной оси Y. Однако, когда я добавил код для достижения этого, показанный ниже, подсвеченный ***, Боке кажется неспособным создать сюжет. Кто-нибудь знает, что я делаю неправильно?
from bokeh.plotting import figure, output_file, show, save
from bokeh.models import ColumnDataSource
from bokeh.models import Range1d, LinearAxis
import pandas as pd
from pandas import HDFStore
from bokeh.palettes import Spectral11
store = pd.HDFStore(<dataframe location>)
df = pd.DataFrame(store['d1'])
df = df.rename_axis('Time')
df.fillna(0)
numlines = len(df.columns)
#import colour pallete
mypalette = Spectral11[0:numlines]
# remove unwanted columns
col_list = ['Col1', 'Col2', 'Col3']
df = df[col_list]
# make a list of our columns
col = []
[col.append(i) for i in df.columns]
# make the figure,
p = figure(x_axis_type="datetime", title="<Plot Title>", width = 800, height = 450)
p.xaxis.axis_label = 'Date'
p.yaxis.axis_label = '<Name of Primary Y Axis>'
*** # add extra y axis
p.extra_y_ranges = {'Col3': Range1d(start=0, end=0.25)}
p.add_layout(LinearAxis(y_range_name='Performance ratio %'), 'right') ***
# loop through our columns and colors
for (columnnames, colore) in zip(col, mypalette):
p.line(df.index, df[columnnames], legend = columnnames, color = colore)
# creates an output file
output_file('<outputlocation>')
#save the plot
save(p)
Для справки, мой dataframe выглядит следующим образом:
Dataframe выглядит следующим образом:
Time Col1 Col2 Col3 Col4
29/11/2016 00:00 4 41 41 55
29/11/2016 01:00 55 15 61 81
29/11/2016 02:00 51 75 2 4
29/11/2016 03:00 21 21 51 9
etc.
Просьба представить образец 'df' (см [mcve] (http://stackoverflow.com/help/mcve)) –
добавить его к первоначальному вопросу, пожалуйста, –
Образец данных теперь добавляется к исходному вопросу. – pottolom