Неверно отформатирована пустая ячейка таблицы Bokeh
Что касается заголовка, у меня возникли проблемы с отображением таблицы с некоторыми пустыми ячейками в сочетании с форматером.
Рассмотрим следующий пример, адаптированный из официальной документации (используется последняя версия Bokeh, 0.13.0).
from datetime import date
from random import randint
from bokeh.io import output_file, show
from bokeh.layouts import widgetbox
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import \
DataTable, DateFormatter, TableColumn, NumberFormatter
output_file("data_table.html")
n = 1000
data = dict(
dates=[
date(randint(1970, 2018), randint(1, 12), randint(1, 28))
for i in range(n)],
downloads=[randint(0, 100) for i in range(n)],
latency=[randint(0, 100) for i in range(n)],
)
data['dates'][0:5] = [None] * 5
data['downloads'][0:10] = [None] * 10
data['latency'][5:10] = [None] * 5
source = ColumnDataSource(data)
columns = [
TableColumn(
field="dates", title="Date",
formatter=DateFormatter()),
TableColumn(
field="downloads", title="Downloads",
formatter=NumberFormatter()),
TableColumn(
field="latency", title="Latency")
]
data_table = DataTable(source=source, columns=columns, width=800, height=400)
show(widgetbox(data_table))
Что приводит к следующей таблице:
Ключевым аспектом является то, что:
- в первом столбце, отформатирован с использованием
DateFormatter()
,None
ячейки не пусты, но отображаютfunction(){ return c.convert(arguments)}
, - во втором столбце, отформатирован с использованием
NumberFormatter()
,None
ячейки не пусты, но отображают более приемлемые0
, - наконец, "неотформатированные" ячейки - единственные, которые правильно отображают пустые ячейки.
Итак, мои вопросы:
- это ожидаемое поведение?
- как убедиться, что все ячейки, которые установлены в
None
стать пустым (при сохранении правильного форматирования)?