Общая нотация для создания подзаговоров с помощью datashade / holoviews / Bokeh использует нотацию '+':
plot = plot1 + plot2 + plot3
Тем не менее, я пытаюсь генерировать графики внутри цикла for, как я могу с Matplotlib. В Seaborn я могу просто сделать это, чтобы создать подсюжеты при увеличении через фрейм данных:
fig, axes = plt.subplots(nrows=len(DF_cols), ncols=1, figsize=(10,10), sharex = True)
count = 0
for i in DF_cols:
sns.lineplot(data=df[i], label=i, ax=axes[count])
count += 1
return fig, axes
Как преобразовать описанный ниже метод для Datashade / Holoviews в более автоматизированный процесс?
c1 = hv.Curve(df['T'])
c2 = hv.Curve(df['A'])
c3 = hv.Curve(df['B'])
c4 = hv.Curve(df['C'])
plot1 = dynspread(datashade(c1))
plot2 = dynspread(datashade(c2))
plot3 = dynspread(datashade(c3))
plot4 = dynspread(datashade(c4))
plot = (plot1 + plot2 + plot3 + plot4).cols(1)
plot
Мой первоначальный подход состоял в том, чтобы использовать создание пользовательской строки, чтобы имитировать обычную нотацию Datashade и запускать на ней exec (), но это не работает при использовании внутри функций или в конечном итоге встречает другие ошибки.