Python 创建包含打印输出和打印的文件

Python 创建包含打印输出和打印的文件,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个数据帧列表和JSON列表,我想把df图和JSON放在一个漂亮的文件(pdf或jpeg)中, 到目前为止,我添加了json作为情节的标题,这对于短字符串来说已经足够好了(见下文),但是对于较长的json来说,它会有问题,我想添加它们作为简单的打印,而不是标题,有什么想法吗 以下是我所拥有的: lodf = [pd.DataFrame([-1*x for x in range(20)]), pd.DataFrame(range(20))] fig = plt.figure(figsize=[

我有一个数据帧列表和JSON列表,我想把df图和JSON放在一个漂亮的文件(pdf或jpeg)中, 到目前为止,我添加了json作为情节的标题,这对于短字符串来说已经足够好了(见下文),但是对于较长的json来说,它会有问题,我想添加它们作为简单的打印,而不是标题,有什么想法吗

以下是我所拥有的:

lodf = [pd.DataFrame([-1*x for x in range(20)]), pd.DataFrame(range(20))]
fig = plt.figure(figsize=[16,2*len(lodf)])

for i, df0 in enumerate(lodf):
    ax = fig.add_subplot(len(lodf), 1, i+1)
    df0.plot(style='.', ms=8, ax=ax)
    ax.set_ylabel("YYY")
    ax.set_title('I want this as a print out since it is a long json', wrap=True)

plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=0.6)
plt.savefig('just_an_example.pdf')
其中:


一种方法是使用
LaTex
表格
环境来控制包装,类似这样

导入matplotlib.pyplot作为plt
将numpy作为np导入
从matplotlib导入rcParams
rcParams[“text.usetex”]=True
figsize=[10,6]
plt.图(figsize=figsize)
string=“string字符串”
strings=[string]
对于范围(1,6)内的i:
strings.append(strings[i-1]+string)
plt.title(r'\begin{tabular}{p{'+str(figsize[0])+'in}}}}+strings[5]+'\end{tabular}')
plt.show()
将标题环绕在地物边界处:

当然,这不是包装文本的最简单方法(请参阅),但与大多数其他方法相比,这允许更好地控制格式。例如,如果要格式化某些代码,可以执行以下操作

figsize=[10,6]
plt.图(figsize=figsize)
代码='def函数(arg1、arg2、arg3、kwarg1=None、kwarg2=None):\n\t打印(arg1)'+
“\n\t打印(arg2)\n\t打印(arg3)”
table=code.replace(“\n”,“\\”).replace(“\t”,“\hspace{1cm}”)
plt.title(r'\ttfamily\begin{tabular}{p{'+str(figsize[0])+'in}}+table+'\end{tabular}')
plt.show()


我使用
LaTex
方法的原因是允许对字符串进行更高级的格式化—允许将代码格式化为任何matplotlib文本方法中的代码(
title()
xlabel()
ylabel()
text()
等)。

是否安装了
LaTex
?如果没有,你会对使用它的答案感兴趣吗?当然,总是很乐意尝试一些新的东西。json字符串是散布在绘图中还是应该分组在一起?分组。json接着是一个图形,接着是一个图形,接着是一个json,接着是一个图形……为了确保我理解正确,你是想要一个json字符串然后是一个图形,还是想要多个json字符串然后是一个图形?