Телеметрия работает на демо не на собственном сервере

Если у вас установлены pdflatex и imagemagick, вы можете экспортировать DataFrame в tex, использовать pdflatex, чтобы преобразовать его в pdf-файл, а затем преобразовать pdf в png с помощью imagemagick:

import pandas as pd
import numpy as np
import subprocess

df = pd.DataFrame({'d': [1., 1., 1., 2., 2., 2.],
                   'c': np.tile(['a', 'b', 'c'], 2),
                   'v': np.arange(1., 7.)})
filename = 'out.tex'
pdffile = 'out.pdf'
outname = 'out.png'

template = r'''\documentclass[preview]{{standalone}}
\usepackage{{booktabs}}
\begin{{document}}
{}
\end{{document}}
'''

with open(filename, 'wb') as f:
    f.write(template.format(df.to_latex()))

subprocess.call(['pdflatex', filename])
subprocess.call(['convert', '-density', '300', pdffile, '-quality', '90', outname])

enter image description here [/g1]

Если вы установили phantomjs и imagemagick, вы можете экспортировать DataFrame в HTML, а затем использовать phantomjs для преобразования HTML в png и imagemagick, чтобы обрезать результат:

import pandas as pd
import numpy as np
import subprocess

df = pd.DataFrame({'d': [1., 1., 1., 2., 2., 2.],
                   'c': np.tile(['a', 'b', 'c'], 2),
                   'v': np.arange(1., 7.)})
filename = '/tmp/out.html'
outname = '/tmp/out.png'
cropname = '/tmp/cropped.png'

with open(filename, 'wb') as f:
    f.write(df.to_html())
rasterize = '/path/to/phantomjs/examples/rasterize.js'
subprocess.call(['phantomjs', rasterize, filename, outname])
subprocess.call(['convert', outname, '-trim', cropname])

enter image description here [/g2]

0
задан O_Tiby 13 July 2018 в 14:51
поделиться