ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

Python tkinter create chart table PDF

python tkinter เป็นคำสั่งที่สร้างขึ้นมาให้แสดงผลลัพธ์ทางหน้าจอ เป็นหนึ่งในผู้เล่นใหม่ๆสามารถลองเขียนโค้ด python ได้อย่างสนุกและในวันนี้ผมจะมาแนะนำโค้ดในการสร้างแผนภูมิจากการปริ๊น PDF นะครับ

 

Input

from pandas import DataFrame
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
import tkinter as tk
Data1 = {'Unemployment_Rate': [6.1, 5.8, 5.7, 5.7, 5.8, 5.6, 5.5, 5.3, 5.2, 5.2],
         'Stock_Index_Price': [1500, 1520, 1525, 1523, 1515, 1540, 1545, 1560, 1555, 1565]
         }
df1 = DataFrame(Data1, columns=['Unemployment_Rate', 'Stock_Index_Price'])

Data2 = {'Year': [1920, 1930, 1940, 1950, 1960, 1970, 1980, 1990, 2000, 2010],
         'Unemployment_Rate': [9.8, 12, 8, 7.2, 6.9, 7, 6.5, 6.2, 5.5, 6.3]
         }
df2 = DataFrame(Data2, columns=['Year', 'Unemployment_Rate'])
root = tk.Tk()
canvas1 = tk.Canvas(root, width=700, height=500)
canvas1.pack()
def export():
    with PdfPages(r'C:\Users\poob\PycharmProjects\PDF\1.pdf') as export_pdf:
        plt.scatter(df1['Unemployment_Rate'], df1['Stock_Index_Price'], color='green')
        plt.title('Unemployment Rate Vs Stock Index Price', fontsize=10)
        plt.xlabel('Unemployment Rate', fontsize=8)
        plt.ylabel('Stock Index Price', fontsize=8)
        plt.grid(True)
        export_pdf.savefig()
        plt.close()
        plt.plot(df2['Year'], df2['Unemployment_Rate'], color='red', marker='o')
        plt.title('Unemployment Rate Vs Year', fontsize=10)
        plt.xlabel('Year', fontsize=8)
        plt.ylabel('Unemployment Rate', fontsize=8)
        plt.grid(True)
        export_pdf.savefig()
        plt.close()
button1 = tk.Button(root, text='Export PDF', command=export, bg='brown', fg='white')
canvas1.create_window(360, 250, window=button1)
root.mainloop()

Output

1.ผลลัพธ์หน้าจอคำสั่ง Python tkinter

2.หน้าที่ทำการสร้างไฟล์ PDF

3.ผลลัพธ์ในไฟล์ PDF

อธิบายลำดับการทำงานของ Python  Tkinter create chart table PDF

บรรทัดที่ 1 เรียกใช้ pandas เพื่อโหลดข้อมูลออกมาเป็นตาราง (DataFrame)

บรรทัดที่ 2 เรียกใช้ matplotlib สำหรับการวาดกราฟ

บรรทัดที่ 3 แสดงไฟล์ PDF ในหน้า page browser ที่เราเซตไว้

บรรทัดที่ 4 เรียกใช้ tkinter เช่น Tk 

บรรทัดที่ 5 - 7 สร้างชุดข้อมูลที่ 1 

บรรทัดที่ 8 กำหนดข้อมูลชุดที่ 1 ใช้ในแกน ( x, y ) 

บรรทัดที่ 9 - 11 สร้างชุดข้อมูลที่ 2

บรรทัดที่ 12 กำหนดข้อมูลชุดที่ 2 ใช้ในแกน ( x, y ) 

บรรทัดที่ 13 สร้างหน้าจอ

บรรทัดที่ 14 - 15 กำหนดขนาดหน้าจอ

บรรทัดที่ 16 - 31 กำหนด Function ในการทำงาน

บรรทัดที่ 32 เมื่อทำการกดปุ่มจะไปเรียกใช้คำสั่ง Function def export():

บรรทัดที่ 33 กำหนดตำแหน่งปุ่ม button

บรรทัดที่ 34 จบคำสั่งการทำงานและแสดงคำสั่งการทำงาน

 

Python tkinter create chart table PDF มีลำดับการทำงานดังนี้เริ่มแรกเรียก pandas มาช่วยในการสร้างตารางข้อมูล DataFrame จากนั้นเรียกใช้ matplotlib ไว้วาดเส้นกราฟ จากนั้นกำหนดให้ไฟล์ PDF ไปโชว์ในหน้า Browser สร้างชุดข้อมูลและกำหนดชุดข้อมูลใน (x,y)( แกนxแนวนอน,แกนyแนวตั้ง ) สร้างปุ่ม button เพื่อเรียกใช้ Function export เพื่อแสดงผลลัพธ์การทำงานตาม Style ที่เรากำหนดจากนั้น save ข้อมูลแล้วไปสร้างไฟล์ PDF ตามตำแหน่งโฟล์เดอร์ที่เรากำหนดแล้วภายในไฟล์จะแสดงผลลัพธ์ตาม Function ที่เรากำหนดเป็นอันเสร็จสิ้นการทำงาน


ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : Python

- บทเรียน Python (174)

- VDO Tutorial - Python (53)

- ความหมายของคำ (736)

- ถาม-ตอบ Python (608)

- พูดคุยเรื่องทั่วไป (1004)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำกราฟ เปรียบเทียบ ค่าธรรมเนียมของแต่ละธนาคาร
โดย chatee supasand พ 18 ก.ย. 2019 7:24 pm บอร์ด MT33 - นายชาตรี สุภาแสน
1
6
พ 18 ก.ย. 2019 7:29 pm โดย mindphp
ทำไมต้องอัพเกรดและวิธีอัพเกรด Ubuntu
โดย jirawoot พ 18 ก.ย. 2019 7:02 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
5
พ 18 ก.ย. 2019 7:02 pm โดย jirawoot
Adobe Premiere Pro เปิดตัวฟีเจอร์ปรับขนาดเฟรมวิดีโออัตโนมัติด้วย AI รองรับโซเชียลแอป
โดย birdkritsna พ 18 ก.ย. 2019 6:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
พ 18 ก.ย. 2019 6:05 pm โดย birdkritsna
ทำความรู้จัก Tape Backup
โดย aninthana พ 18 ก.ย. 2019 5:57 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
5
พ 18 ก.ย. 2019 5:57 pm โดย aninthana
VDO แนะนำการสมัคร skype
โดย chatee supasand พ 18 ก.ย. 2019 3:58 pm บอร์ด MT33 - นายชาตรี สุภาแสน
1
8
พ 18 ก.ย. 2019 4:51 pm โดย mindphp
R - tools_exchange_rate
โดย birdkritsna พ 18 ก.ย. 2019 2:18 pm บอร์ด M094 - กฤษณะ จะโรจน์รัมย์
0
19
พ 18 ก.ย. 2019 2:18 pm โดย birdkritsna
งานประจำวันที่ 18 กันยายน 2562
โดย birdkritsna พ 18 ก.ย. 2019 10:26 am บอร์ด M094 - กฤษณะ จะโรจน์รัมย์
1
13
พ 18 ก.ย. 2019 7:38 pm โดย birdkritsna
งานประจำวันที่ 18 กันยายน 2562
โดย Patipat พ 18 ก.ย. 2019 10:20 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
4
พ 18 ก.ย. 2019 7:22 pm โดย Patipat
งานประจำวันที่ 18 กันยายน 2562
โดย chatee supasand พ 18 ก.ย. 2019 10:16 am บอร์ด MT33 - นายชาตรี สุภาแสน
2
12
พ 18 ก.ย. 2019 7:27 pm โดย chatee supasand
งานประจำวันที่ 18 กันยายน 2562
โดย jirawoot พ 18 ก.ย. 2019 10:06 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
3
8
พ 18 ก.ย. 2019 7:42 pm โดย jirawoot
งานประจำวันที่ 18 กันยายน 2562
โดย jamepiyawat พ 18 ก.ย. 2019 10:05 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
7
พ 18 ก.ย. 2019 10:05 am โดย jamepiyawat
งานประจำวันที่ 18 กันยายน 2562
โดย aninthana พ 18 ก.ย. 2019 9:54 am บอร์ด M092 - อนินธนา บุญยัง
1
13
พ 18 ก.ย. 2019 6:42 pm โดย aninthana
สร้างแบบสอบถามออนไลน์ ด้วย Excel Survey บน OneDrive
โดย birdkritsna อ 17 ก.ย. 2019 6:31 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
28
อ 17 ก.ย. 2019 6:31 pm โดย birdkritsna
ทำไมจึงต้องมี Data Mining (เหมืองข้อมูล) ?
โดย birdkritsna อ 17 ก.ย. 2019 6:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
31
อ 17 ก.ย. 2019 6:04 pm โดย birdkritsna
ทำความรู้จักกับ Big Data คืออะไร
โดย birdkritsna อ 17 ก.ย. 2019 5:36 pm บอร์ด SQL Knowledge
1
42
อ 17 ก.ย. 2019 5:52 pm โดย mindphp
วิธีการใช้งานฟังชั่น serialize() กับ unserialize() ใน phpbb
โดย Ittichai_chupol อ 17 ก.ย. 2019 5:18 pm บอร์ด PHP Knowledge
0
20
อ 17 ก.ย. 2019 5:18 pm โดย Ittichai_chupol
รู้จักกับคลังข้อมูล(Data Warehouse) คืออะไร มีประโยชน์อะไรบ้าง
โดย birdkritsna อ 17 ก.ย. 2019 5:11 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
27
อ 17 ก.ย. 2019 5:11 pm โดย birdkritsna
MS Exchange ไมโครซอฟท์ต่ออายุซัพพอร์ต 2010 ให้อีก 9 เดือน ถึง ตุลาคม 2020
โดย chatee supasand อ 17 ก.ย. 2019 5:09 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
19
อ 17 ก.ย. 2019 5:09 pm โดย chatee supasand
สิ่งที่ต้องทำ ก่อนโทรศัพท์หายหรือโดนขโมย
โดย birdkritsna อ 17 ก.ย. 2019 3:23 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
24
อ 17 ก.ย. 2019 3:23 pm โดย birdkritsna
VDO - ขั้นตอนการยกเลิกใบแจ้งหนี้ด้วยวิธีที่ถูกต้อง
โดย EyePornnipa อ 17 ก.ย. 2019 3:05 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
2
14
อ 17 ก.ย. 2019 5:32 pm โดย EyePornnipa