Python создание PDF-файла с графикой matplotlib - PullRequest
0 голосов
/ 20 апреля 2020

Мой проект создает фрейм данных (или csv) с pandas, некоторую графику с matplotlib. Я пытаюсь создать и сохранить PDF-файл с добавлением CSV-файлов и графики в PDF. Я использую "python -reportlab". Создание и сохранение графики после добавления в PDF, но CSV-файлы не работает нормально. Как мне подогнать файл csv и добавить графику, не сохраняя их как ".png"

Моя попытка

import seaborn as sns
import matplotlib.pyplot as plt
import nltk
from textblob import Word

import numpy as np
import pandas as pd
from os import path
from PIL import Image
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

#Creating and saving plot as png
a = freq_df[freq_df.frekanslar > freq_df.freq.mean() + 
        freq_df.freq.std()]
a.plot.bar(x = "words",y = "freq");

fig = a.plot(kind='bar',  figsize=(20, 16), fontsize=26).get_figure()
fig.savefig('test.png')

#Wordcloud
wordcloud = WordCloud(background_color = "white").generate(text)
plt.imshow(wordcloud, interpolation = "bilinear")
plt.axis("off")
plt.tight_layout(pad = 0)
plt.savefig('temp.png')

#And csv file
temdata.to_csv("test.csv")

Создание отчета pdf

fileName = 'Docc.pdf'
documentTitle = 'Document title!'
title = 'Empty'
subTitle = 'Empty'

textLines = [
'Some text'
]

image = 'test.png'
image2 = 'temp.png'

from reportlab.pdfgen import canvas 

pdf = canvas.Canvas(fileName)
pdf.setTitle(documentTitle)
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290,720, subTitle)
pdf.line(30, 710, 550, 710)

from reportlab.lib import colors

text = pdf.beginText(40, 680)
text.setFont("Courier", 18)
text.setFillColor(colors.red)
for line in textLines:
    text.textLine(line)

pdf.drawText(text)

pdf.drawInlineImage(image, 120, 30,300,300)
pdf._pageNumber=2
pdf.drawInlineImage(image2, 120, 430,300,300)


pdf.save()

Вы можете видите, я не могу добавить CSV-файл и не могу добавить PNG-файлы без их сохранения. Я хочу добавить PNG-фигуры без сохранения и создания таблицы лунок для отображения данных CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...