有没有人知道如何在ipython notebook中操纵HTML函数调用的字体大小?
我一直在发现HTML功能对各种笔记本任务非常有用,包括。查看SVG文件(matplotlib不是很擅长),并获得类似电子表格的pandas数据帧渲染。我相信会出现更多方便的用途。
所以我会做这样的事情(假设一个pandas数据帧df):
from IPython.display import HTML
df_html = df.to_html()
HTML(df_html)
如何操作输出的字体大小?我想这需要HTML函数中的参数,或者df_html文本前面的一些全局字体大小语句。
有什么想法吗?
感谢。
答案 0 :(得分:6)
现在可以使用style
的{{1}}方法添加CSS样式,例如
DataFrame
请注意,目前仅适用于值,您无法通过这种方式设置标题或索引标签的样式。 (此功能将在未来添加。)
答案 1 :(得分:2)
在IPython中,对象可以有不同的表示形式,如html,latex,png,text等。相应的对象方法称为_repr_xxx_
,其中xxx为例如HTML。如果检查pandas对象,则存在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)
您想将这些应用于您可以使用css的所有pandas表。将(不推荐)方式放入活动笔记本的markdown单元格中。
<style>
table.dataframe {
font-size:150%;
}
</style>
这使用pandas表的dataframe类来标识正确的对象。更好的方法是使用custom.css文件。