Неполный сюжет боке - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть пандас с 10 колонками, и я пытаюсь получить гистограмму с помощью Bokeh.HTML-файл имеет полный график, когда я использую plot_width = 10000.Однако, когда я увеличиваю ширину графика (чтобы между значениями осей x было пространство) до 30000, график не заполняется после 2010 года. Вот полный код.Пожалуйста, предложите путь вперед.

from bokeh.palettes import Viridis6 as palette
from bokeh.transform import factor_cmap
from bokeh.models import ColumnDataSource,FactorRange,HoverTool
from bokeh.palettes import Spectral6
from flask import Flask, request, render_template, session, redirect,send_file
import numpy as np
import pandas as pd
from bokeh.plotting import figure, show, output_file,save
from bokeh.embed import components,file_html
from bokeh.resources import CDN
from bokeh.layouts import row,column
from bokeh.core.properties import value


dates = pd.date_range('20050101', periods=3900)

df = pd.DataFrame(np.random.randn(3900, 10), index=dates, columns=list('ABCDEFGHIJ'))






s = df.resample('M').mean().stack()
s.index = [s.index.get_level_values(0).strftime('%Y-%m-%d'),s.index.get_level_values(1)]

x = s.index.values

l1=list(s.index.levels[1])


counts = s.values

source = ColumnDataSource(data=dict(x=x, counts=counts))

p = figure(x_range=FactorRange(*x), plot_height=250,plot_width=30000, title='Plotting data',
   toolbar_location=None, tools="")


p.vbar(x='x', top='counts', width=1, source=source, line_color="white")

p.y_range.start = s.values.min()
p.y_range.end = s.values.max()
p.x_range.range_padding = 0.01
p.y_range.range_padding = 0.01
p.xaxis.major_label_orientation = 1
p.xgrid.grid_line_color = None

output_file('test_plot.html')

save([p])

show(p)

1 Ответ

0 голосов
/ 22 февраля 2019

Это прекрасно работает для меня с Bokeh 1.0.4 и OSX / Safari.Я подозреваю, что это ограничение / проблема с базовой реализацией HTML Canvas в любом браузере, который вы используете, и в этом случае мы ничего не можем с этим поделать.Единственные предложения, которые я могу сделать, - это разделить график на более мелкие вспомогательные участки или использовать другой браузер (или, возможно, другую версию того же браузера)

...