2013-10-23 257 views
0

操作HTML()模块的字体大小有谁知道如何操纵HTML的字体大小IPython的笔记本函数调用?在IPython的笔记本

我一直在寻找的HTML功能的各种笔记本电脑的任务是非常有用的,含。查看SVG文件(matplotlib不太擅长),并获得电子表格式的熊猫数据框渲染。我相信会有更多便利的用途出现。

所以我会做这样的事情(假设大熊猫数据帧DF):

from IPython.display import HTML 
df_html = df.to_html() 
HTML(df_html) 

我怎么能操纵输出的字体大小?我想这需要HTML函数中的一个参数或者df_html文本前面的全局字体大小语句。

任何想法?

谢谢。

回答

2

在IPython中的对象可以有不同的表示,如HTML,胶乳,PNG,文本等的各对象的方法被调用_repr_xxx_用xxx是例如HTML。如果你检查你的熊猫物体,pd._repr_html_方法存在,并调用一些逻辑df.to_html方法。因此,我建议使用_repr_html_而不是to_html方法。

要改变字体大小,颜色等的包围html标记可以使用。在这里,如果你想使用CSS或古典方法并不重要。 您可以使用类似(CSS)

HTML('<span style="font-size:180%; line-height:140%">'+df_html+'</span>')) 

或(HTML)

HTML('<font size=5>'+df_html+'</font>')) 
当然

,这两个例子给出了不一样的结果。
为了方便,你可以创建一个类来为你做这个...

class sizeme(): 
    """ Class to change html fontsize of object's representation""" 
    def __init__(self,ob, size, height=100): 
     self.ob = ob 
     self.size = size 
     self.height = height 
    def _repr_html_(self): 
     repl_tuple = (self.size, self.height, self.ob._repr_html_()) 
     return u'<span style="font-size:{0}%; line-height:{1}%">{2}</span>'.format(*repl_tuple) 

enter image description here

它要符合上述条件,您可以使用CSS所有的大熊猫表。一个(不推荐的)方法是将下列内容放入活动笔记本的减价单元格中。

<style> 
table.dataframe { 
font-size:150%; 
} 
</style> 

这使用pandas表的dataframe类来识别正确的对象。更好的方法是使用custom.css文件。

3

现在可以使用DataFramestyle方法添加CSS样式,例如,

df.style.set_properties(**{'font-size':'6pt'}) 

请注意,目前这只适用于值,您不能以这种方式设置标题或索引标签的样式。 (将来会添加此功能。)