假设我有一个单词句子,其中每个单词(或字符)都有一个关联的数值或颜色。例如,这可能来自RNN sentiment classifier,它将产生类似以下内容的
:我正在寻找一种轻量级的方式来使用python可视化Jupyter中句子中的单词/字符。是否有一种优雅的方式可以在笔记本中进行内联?我大多数情况下是在单独的html文件中使用其他JavaScript完成此操作的。请注意,我只需要静态可视化就可以了。我见过您每个字母can change the color of the font,但我希望只操作背景颜色(填充?),同时使文本保持黑色。我只是不确定这是指什么。
答案 0 :(得分:1)
不确定是否有实现此目的的首选方法;这是一种使用小型html
模板和IPython.display.display_html
的快速方法:
from IPython.display import display_html
def to_html(text, r, g, b):
return "<var style='background-color:rgb({}, {}, {});'>{} </var>".format(
r, g, b, text
)
example = "A quick brown fox jumps over the lazy dog.".split()
res = ''.join(to_html(word, *np.random.randint(0,256,size=3)) for word in example)
display_html(res, raw=True)
结果如下:
<var style='background-color:rgb(144, 237, 221);'>A </var><var style='background-color:rgb(28, 208, 84);'>quick </var><var style='background-color:rgb(142, 241, 214);'>brown </var><var style='background-color:rgb(67, 199, 115);'>fox </var><var style='background-color:rgb(121, 120, 116);'>jumps </var><var style='background-color:rgb(251, 46, 48);'>over </var><var style='background-color:rgb(128, 147, 44);'>the </var><var style='background-color:rgb(48, 215, 5);'>lazy </var><var style='background-color:rgb(239, 90, 48);'>dog. </var>