根据单元格的文本内容,我想在散景中显示一个DataTable,单元格是红色还是橙色。带有条件着色单元格的散景DataTable
例如,如果单元格包含单词“错误”,那么该单元格显示为红色背景。 如果单元格包含单词“警告”,那么它是橙色的。
我相信我应该用[HTMLTemplateFormatter][1]
,但是怎么样?
我该怎么做?
感谢
根据单元格的文本内容,我想在散景中显示一个DataTable,单元格是红色还是橙色。带有条件着色单元格的散景DataTable
例如,如果单元格包含单词“错误”,那么该单元格显示为红色背景。 如果单元格包含单词“警告”,那么它是橙色的。
我相信我应该用[HTMLTemplateFormatter][1]
,但是怎么样?
我该怎么做?
感谢
通过文档来看,你可以使用一个HTMLTemplateFormatter并强调JS格式化表格。有关详细信息,请参见http://bokeh.pydata.org/en/latest/docs/reference/models/widgets.tables.html 和http://underscorejs.org/#template。 我附加了一个基于整数值的格式示例,尽管您可以根据需要进行扩展。
注意:这基本上嵌入每个表格单元中的div,所以每个单元格周围仍然有一个小的白色边框。如果可能的话,您可以调整内部div的大小,或者设置父元素的样式。
更新:根据背景虚化的版本使用的是你可能需要包括lodash或HTML文档中强调JS即:<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, TableColumn, HTMLTemplateFormatter
from bokeh.io import show
dict1 = {'x':[0]*6,'y':[0,1,0,1,0,1]}
source = ColumnDataSource(data=dict1)
template="""
<div style="background:<%=
(function colorfromint(){
if(value == 1){
return("blue")}
else{return("red")}
}()) %>;
color: white">
<%= value %></div>
"""
formater = HTMLTemplateFormatter(template=template)
columns = [
TableColumn(field="x", title="x"),
TableColumn(field="y", title="y",formatter=formater)
]
data_table = DataTable(source=source, columns=columns, width=800)
它的伟大工程!谢谢 – carmellose
没问题。我认为如果你能清楚地设置好看起来更好的整个单元背景。 – Anthonydouc
@Anonydouc你会如何引用父母为了改变背景颜色?我尝试使用jquery没有运气。也尝试调整内部div与没有运气 – asdf