这似乎是一个无用的功能,但它会对我很有帮助。我想保存输出,我得到的天篷内的IDE。我不认为这是特定的冠层,但为了清晰起见,这是我使用的。例如,我的控制台输出[2]就是我想要的:
我认为格式化非常好,每次都复制而不是仅仅保存输出将是浪费时间。所以我的问题是,我怎样才能掌握这个数字?理想情况下,植入方法类似于标准方法,因此可以这样做:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('Output.pdf')
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
df.plot(how='table')
pp.savefig()
pp.close()
注意:我意识到之前有人问过一个非常类似的问题(How to save the Pandas dataframe/series data as a figure?),但它从未得到答案,我想我已经把这个问题说得更清楚了。
我相信,这是一个你的IDE正在呈现的HTML表。这就是ipython笔记本的功能。
你可以这么做:
并保存到HTML文件:
这是一个有点老套的解决方案,但它能完成任务。你想要一个.pdf但是你得到了一个奖金.png。:)
欢迎编辑。
我认为这里需要的是在输出到pdf的图形中,以一致的方式将表输出到pdf文件。
我的第一个想法是不要使用matplotlib后端
因为它在格式化选项上似乎有点受限,倾向于将表格式化为图像(从而以不可选择的格式呈现表的文本)
如果要在pdf中混合使用dataframe输出和matplotlib打印,而不使用matplotlib pdf后端,我可以想出两种方法。
首先,安装
xhtml2pdf
库。这看起来支持得有点零散,但它是active on Github,并且有一些basic usage documentation here。您可以通过pip
即pip install xhtml2pdf
安装它完成后,下面是一个简单的示例,嵌入matplotlib图形,然后是表(所有文本都可以选择),然后是另一个图形。你可以随意使用CSS等来改变格式,使之符合你的具体要求,但我认为这满足了这个要求:
注意在编写时xhtml2pdf中似乎有一个bug,这意味着某些CSS不受尊重。与这个问题特别相关的是,似乎不可能在桌子周围有两个边界
编辑
在回应评论中,很明显有些用户(至少@Keith同时回答并获得了奖金!)希望表是可选择的,但绝对是在matplotlib轴上。这与原来的方法有些一致。因此-这里是一个只对matplotlib和matplotlib对象使用
pdf
后端的方法。我认为这个表看起来不太好,特别是层次列标题的显示,但我想这是一个选择的问题。我很感激this answer和注释,它们提供了格式化表格显示轴的方法。相关问题 更多 >
编程相关推荐