Python數據可視化PDF:從可視化到PDF的完整教程
數碼 4
本文將從多個方面詳細闡述如何用Python進行數據可視化並將其保存為PDF。
在進行數據可視化之前,我們需要先導入必要的庫。
import matplotlib.pyplot as plt import numpy as np from reportlab.lib.styles import getSampleStyleSheet from reportlab.lib.units import inch from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer
通過數據可視化,我們可以更加直觀地了解數據的分布情況。
以下是一個簡單的例子,我們將使用Matplotlib繪製正弦曲線:
x = np.linspace(0, 10, 1000) y = np.sin(x) plt.plot(x, y) plt.show()
我們可以使用ReportLab庫將可視化內容轉換為PDF文件。
以下是一個簡單的例子:
doc = SimpleDocTemplate("output.pdf", pagesize=(8.5 * inch, 11 * inch)) styles = getSampleStyleSheet() text = [] text.append(Paragraph("Sine Wave", styles["Title"])) text.append(Spacer(1, 0.2 * inch)) img = plt.imread("sine_wave.png") img_size = (img.shape[1], img.shape[0]) aspect = img_size[1] / float(img_size[0]) width = 4 * inch height = width * aspect text.append(Paragraph('' % (width, height), styles["Normal"])) doc.build(text)
import matplotlib.pyplot as plt import numpy as np from reportlab.lib.styles import getSampleStyleSheet from reportlab.lib.units import inch from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer # Data visualization x = np.linspace(0, 10, 1000) y = np.sin(x) plt.plot(x, y) plt.savefig("sine_wave.png") plt.close() # Convert visualization to PDF doc = SimpleDocTemplate("output.pdf", pagesize=(8.5 * inch, 11 * inch)) styles = getSampleStyleSheet() text = [] text.append(Paragraph("Sine Wave", styles["Title"])) text.append(Spacer(1, 0.2 * inch)) img = plt.imread("sine_wave.png") img_size = (img.shape[1], img.shape[0]) aspect = img_size[1] / float(img_size[0]) width = 4 * inch height = width * aspect text.append(Paragraph('' % (width, height), styles["Normal"])) doc.build(text)
本文對Python數據可視化和將其轉換為PDF進行了詳細的闡述,希望對你有所幫助。