Rumah > rangka kerja php > Workerman > Bagaimana untuk menggunakan rangka kerja Webman untuk melaksanakan visualisasi data dan fungsi penjanaan laporan?

Bagaimana untuk menggunakan rangka kerja Webman untuk melaksanakan visualisasi data dan fungsi penjanaan laporan?

WBOY
Lepaskan: 2023-07-07 15:52:37
asal
1836 orang telah melayarinya

Bagaimana untuk menggunakan rangka kerja Webman untuk melaksanakan visualisasi data dan fungsi penjanaan laporan?

Dengan perkembangan pesat data besar dan Internet, visualisasi data dan penjanaan laporan telah menjadi keperluan banyak syarikat dan individu. Rangka kerja Webman ialah rangka kerja pembangunan web Python sumber terbuka yang menyediakan ciri dan perpustakaan paparan yang kaya untuk membina aplikasi web dengan cepat. Dalam artikel ini, saya akan memperkenalkan cara menggunakan rangka kerja Webman untuk melaksanakan visualisasi data dan fungsi penjanaan laporan.

  1. Pasang rangka kerja Webman

Mula-mula, kita perlu memasang rangka kerja Webman. Anda boleh memasang Webman melalui arahan pip:

pip install webman
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk menyemak pemasangan Webman:

webman version
Salin selepas log masuk
  1. Buat aplikasi Web

Sebelum kita mula, kita perlu membuat apl Web. Buka terminal dan laksanakan arahan berikut:

webman start myapp
Salin selepas log masuk

Ini akan mencipta direktori projek yang dipanggil myapp dan menjana beberapa fail asas dan struktur direktori di dalamnya.

  1. Visualisasi Data

Seterusnya, kami akan memperkenalkan cara menggunakan rangka kerja Webman untuk visualisasi data. Pertama, kita perlu menyediakan beberapa data dan mengimport perpustakaan yang berkaitan. Cipta fail bernama visualize.py dalam direktori myapp anda dan tulis kod berikut dalam fail:

import webman
import matplotlib.pyplot as plt
import numpy as np

# 生成一些示例数据
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

# 创建一个简单的折线图
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sin Wave')

# 将图形保存为图片文件
plt.savefig('static/images/plot.png')
Salin selepas log masuk

Kod di atas menggunakan perpustakaan Matplotlib untuk menjana carta garisan ringkas dan menyimpan hasilnya sebagai fail bernama fail imej plot .png. Ambil perhatian bahawa kami menyimpan imej dalam direktori statik/imej, yang merupakan direktori fail statik lalai bagi rangka kerja Webman.

Seterusnya, kita perlu menambah laluan yang sepadan dalam modul penghalaan aplikasi web. Buka fail myapp/routes.py dan tulis kod berikut dalam fail:

from webman import route

@route('/plot')
def show_plot():
    return {'template': 'plot.html'}
Salin selepas log masuk

Kod di atas mencipta laluan bernama /show_plot Apabila laluan itu diakses, halaman web yang mengandungi carta garisan akan dipaparkan.

Akhir sekali, kita perlu memuatkan imej ini dalam fail templat. Cipta fail templat bernama plot.html dan tulis kod berikut dalam fail:

<!DOCTYPE html>
<html>
<head>
    <title>Plot</title>
</head>
<body>
    <img src="{{ url_for('static', filename='images/plot.png') }}" alt="Plot">
</body>
</html>
Salin selepas log masuk

Kod di atas menggunakan sintaks templat rangka kerja Flask untuk memuatkan imej daripada /static/images/plot.png.

  1. Penjanaan laporan

Selain visualisasi data, kami juga boleh menggunakan rangka kerja Webman untuk menjana laporan. Pertama, kita perlu memasang perpustakaan yang dipanggil Fpdf, yang menyediakan fungsi untuk menjana fail PDF dalam Python. Buka terminal dan laksanakan arahan berikut untuk memasang Fpdf:

pip install fpdf
Salin selepas log masuk

Selepas pemasangan selesai, buat fail bernama report.py dalam direktori myapp anda dan tulis kod berikut dalam fail:

from fpdf import FPDF

class PDF(FPDF):
    def header(self):
        self.set_font("Arial", "B", 12)
        self.cell(0, 10, "Report", align="C")

    def footer(self):
        self.set_y(-15)
        self.set_font("Arial", "I", 8)
        self.cell(0, 10, "Page %s" % self.page_no(), 0, 0, "C")

    def chapter(self, title, content):
        self.set_font("Arial", "B", 12)
        self.cell(0, 10, title, ln=True)
        self.set_font("Arial", "", 12)
        self.multi_cell(0, 10, content)

# 创建一个PDF文件并生成报表内容
pdf = PDF()
pdf.add_page()
pdf.chapter("Chapter 1", "This is the content of chapter 1.")
pdf.chapter("Chapter 2", "This is the content of chapter 2.")
pdf.output("static/report.pdf")
Salin selepas log masuk

Kod di atas mentakrifkan nama Ia ialah kelas PDF, yang mewarisi kelas PDF perpustakaan FPDF dan mengatasi kaedah pengepala dan pengaki. Dalam kaedah bab, kita boleh menambah kandungan laporan. Akhir sekali, kami menyimpan laporan sebagai fail PDF bernama report.pdf.

Seterusnya, kita perlu menambah laluan yang sepadan dalam modul penghalaan aplikasi web. Buka fail myapp/routes.py dan tulis kod berikut dalam fail:

from webman import route

@route('/report')
def show_report():
    return {'template': 'report.html'}
Salin selepas log masuk

Kod di atas mencipta laluan bernama /show_report.

Akhir sekali, kami perlu menambah pautan ke fail templat supaya pengguna boleh memuat turun fail laporan. Buka fail templat report.html dan tulis kod berikut dalam fail:

<!DOCTYPE html>
<html>
<head>
    <title>Report</title>
</head>
<body>
    <a href="{{ url_for('static', filename='report.pdf') }}" download>Download Report</a>
</body>
</html>
Salin selepas log masuk

Kod di atas menambah pautan ke halaman web yang menghala ke fail laporan. Pengguna boleh memuat turun laporan dengan mengklik pada pautan.

  1. Jalankan aplikasi web

Selepas melengkapkan langkah di atas, kita boleh menggunakan arahan berikut untuk menjalankan aplikasi web:

webman run
Salin selepas log masuk

Kemudian lawati http://localhost:5000/plot dan http://localhost dalam pelayar :5000/laporan, anda akan melihat hasil visualisasi data dan penjanaan laporan.

Ringkasan:

Dalam artikel ini, kami memperkenalkan cara menggunakan rangka kerja Webman untuk melaksanakan visualisasi data dan fungsi penjanaan laporan. Dengan menggunakan perpustakaan Matplotlib untuk visualisasi data dan perpustakaan Fpdf untuk penjanaan laporan, kami boleh memaparkan dan berkongsi data dengan mudah dalam aplikasi web. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja Webman untuk melaksanakan visualisasi data dan fungsi penjanaan laporan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan