我正在使用bokeh datable表显示熊猫数据框,但显示错误。由于某种原因,单元格文本在每个单元格中都被下推。此行为在v.1.0.4中很好,但此后出现。
代码是:
from bokeh.models import ColumnDataSource
from bokeh.io import output_file, show, save
from bokeh.models.widgets import DataTable, DateFormatter, TableColumn, HTMLTemplateFormatter
example_df = pd.DataFrame.from_dict(data={'x':[0]*6,
'y':[0, 1, 0, 1, 0, 1],
'color':['blue', 'red', 'blue', 'green', 'blue', 'green']})
source = ColumnDataSource(example_df)
template="""
<p style="font-size:18px;
color:<%=
(function colorfromint(){
if (color == 'green')
{return('green')}
}()) %>;">
<%= value %>
</p>
"""
formatter = HTMLTemplateFormatter(template=template)
columns = [
TableColumn(field="x", formatter=formatter,
title='<p style="font-size:160%;"> Field 1 </p>'),
TableColumn(field="y", formatter=formatter,
title='<p style="font-size:160%;"> Field 2 </p>'),
]
data_table = DataTable(source=source, columns=columns, width=1200, height=800, index_position = None)
show(data_table)
答案 0 :(得分:1)
您的代码可以将<p>
元素替换为<span>
元素。
template="""
<span style="font-size:18px;
color:<%=
(function colorfromint(){
if (color == 'green')
{return('green')}
}()) %>;">
<%= value %>
</span>
"""
formatter = HTMLTemplateFormatter(template=template)
columns = [
TableColumn(field="x", formatter=formatter,
title='<span style="font-size:160%;"> Field 1 </span>'),
TableColumn(field="y", formatter=formatter,
title='<span style="font-size:160%;"> Field 2 </span>'),
]
我不确定样式更改的根本原因是什么,但是无论如何我都认为<span>
是更好的选择。