Próbuję wyświetlić tabelę w notatniku Juwatera przy użyciu pythona i biblioteki wizualizacji Bokeh. Używam następujący kod do wyświetlania mój stół w notebooku jupyter gdzie wynik jest dataframe:Kolumny i nagłówki tabeli Bokeh w programie Python nie są ustawione w jednej linii.
source = ColumnDataSource(result)
columns = [
TableColumn(field="ts", title="Timestamp"),
TableColumn(field="bid_qty", title="Bid Quantity"),
TableColumn(field="bid_prc", title="Bid Price"),
TableColumn(field="ask_prc", title="Ask Price"),
TableColumn(field="ask_qty", title="Ask Quantity"),
]
data_table = DataTable(source=source, columns=columns, fit_columns=True, width=1300, height=800)
show(widgetbox([data_table], sizing_mode = 'scale_both'))
Wcześniej używałem vform chociaż wydaje się to teraz, aby być amortyzowane i nie działa zgodnie z oczekiwaniami albo. Miało to miejsce po aktualizacji mojej wersji notatnika jupyter. Niezależnie od tego, co mam ustawić szerokość kolumny moje nagłówki nie wyrównane i mają dziwne zachodząc na stole:
tak się nie stało, zanim udało mi się dostać ładny stół, gdzie wszystko podszyte w górę. Nawet jeśli wyreguluję nagłówki, nadal nie będą ustawione. Nie dzieje się tak, gdy zapisuję tabelę jako plik html zamiast wywoływać show() bezpośrednio w notatniku Jupyter. Co muszę zmienić? Czy jest lepszy sposób to zrobić?
Pełna Przykład
from bokeh.io import show, output_notebook
from bokeh.layouts import widgetbox
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import TableColumn, DataTable
import pandas as pd
output_notebook()
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
source = ColumnDataSource(df)
columns = [
TableColumn(field="one", title="One"),
TableColumn(field="two", title=" Two"),
]
data_table = DataTable(source=source, columns=columns,
fit_columns=True, width=800, height=800)
show(widgetbox([data_table], sizing_mode = 'scale_both'))
jest uruchomione w systemie z następujących wersjach:
- Jupyter 4.2.0
- PYTHON 2.7.12 (AnaConDa® 2.3.0 64 bit)
- Bokeh 0.12.2
co o szerokości nie w kolejce? – klib
Jest trudniejsze do naprawienia, ponieważ szerokości nagłówka i wierszy są ustawione inaczej w warunkach css. Możliwe jest użycie '.bk-root .bk-slick-header-column.bk-ui-state-default: first-child { width: 40px! Important; } ' ale tylko pierwsza kolumna zostanie wyrównana – jackdaw