Ich versuche mehrere Zeitreihen in der gleichen Grafik mit Bokeh zu plotten. Einige Serien haben eine andere Länge als die anderen, aber ich möchte sie anzeigen lassen.Bokeh "Quelle" mit verschiedenen Spalten Länge
An dieser Stelle habe ich die Warnung, dass alle Spalte der Quelle nicht die gleiche Länge haben, aber Bokeh scheint automatisch Größen anzupassen.
Eine andere wichtige Sache, ich muss alle 'Y' Werte der Zeitreihe in der gleichen Quelle haben, da ich einen Rückruf in JS verwende, um interaktive Handlung zu erstellen.
Der Rückruf wird:
callback = CustomJS(args=dict(source=source), code="""
// data contains the source.column_names keys
var data = source.get('data');
// f contains the name of the time series to be plotted
var f = cb_obj.get('value');
// For each key in the source, find the lines to be plotted
for (i = 0; i < Object.keys(data).length; i++) {
curr_key = Object.keys(data)[i];
// 'line' identifier is used to recognise columns of sources which represent Y values
if (curr_key.includes('line')) {
id_ = curr_key.split('_')[0];
associated_save = id_.concat('_save_y');
// If the time series is in the selected to be plotted, set the data to plot it
if (f.indexOf(curr_key) > -1) {
data[curr_key] = data[associated_save]
} else { // else, fixe to nan to erase it
data[curr_key] = 'nan'
}
}
}
source.trigger('change');
""")
Der Algorithmus in einer Schleife über die COLUMN_NAMES der Quelle, um die Serie zu plotten/oder unplot die entsprechende Zeit ist.
Kann ich hier eine Quellenliste angeben? args=dict(source=source)
? Soll ich die Warnung ignorieren, aber meine Serien werden geschnitten oder sollte ich sie auf andere Weise verarbeiten?
Die Handlung funktioniert recht gut, aber ich versuche, um die Warnung zu entfernen ...
Vielen Dank!
Ich habe das Problem mit Down Sampling für diese Zeit gelöst. Wie Sie erwähnt haben, sind die Daten für diese Methode nicht immer angepasst. Über Ihre zweite Option erlauben mir meine JavaScript-Kenntnisse in diesen Momenten keine komplexeren Dinge. :) Aber danke für diese Antwort! – glihm