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

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)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ฟอร์มรับเงิน Omise เราสามารถเปลี่ยน logo ได้มั้ยคะ
โดย thatsawan ศ 03 ก.ค. 2020 6:03 pm บอร์ด Programming - PHP
0
20
ศ 03 ก.ค. 2020 6:03 pm โดย thatsawan
input type="date" ไม่เเสดงเป็นปฎิทินวันที่ให้ใน safari แก้ไขยังไงคะ
โดย thatsawan พฤ 02 ก.ค. 2020 2:31 pm บอร์ด HTML CSS
0
45
พฤ 02 ก.ค. 2020 2:31 pm โดย thatsawan
การสร้าง bot messenger ของ facebook โดยใช้ pymessenger
โดย jirawoot พฤ 02 ก.ค. 2020 1:44 pm บอร์ด Python Knowledge
0
47
พฤ 02 ก.ค. 2020 1:44 pm โดย jirawoot
Q - ทดลองทำเอกสารยื่นแบบผ่านเน็ตแล้ว ไฟล์ txt ใช้ไม่ได้
โดย natthanit.r2538 พ 01 ก.ค. 2020 4:59 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
3
56
พ 01 ก.ค. 2020 5:41 pm โดย natthanit.r2538
สรุปการยื่นแบบภาษีออนไลน์
โดย natthanit.r2538 อ 30 มิ.ย. 2020 5:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
55
อ 30 มิ.ย. 2020 7:18 pm โดย natthanit.r2538
หลักการคิดค่าคอมมิชชั่น และวิธีการคิด รายได้จาก Commission
โดย natthanit.r2538 อ 30 มิ.ย. 2020 11:31 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
53
อ 30 มิ.ย. 2020 11:31 am โดย natthanit.r2538
MJUpgrade อัพเกรดไม่สำเร็จ Error: zip file not found
โดย chaiyaphat ศ 26 มิ.ย. 2020 11:01 am บอร์ด Joomla Development
3
508
ศ 26 มิ.ย. 2020 1:24 pm โดย mindphp
ตั้งค่าใช้ Email ใน phpbb เเล้ว ไม่ทำงาน
โดย thatsawan พฤ 25 มิ.ย. 2020 5:37 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
5
102
ส 27 มิ.ย. 2020 4:43 pm โดย thatsawan
เจอปัญหาตอนทำรายการ Omise เป็นบางครั้ง Error Uncaught OmiseInvalidChargeException
โดย thatsawan พฤ 25 มิ.ย. 2020 3:56 pm บอร์ด Programming - PHP
2
76
จ 29 มิ.ย. 2020 5:29 pm โดย thatsawan
ต้องการจะสร้างไฟล์ HTML เเต่นำค่า php ไป HTML โดย Twig เขียนใน phpbb จะทำยังไงคะ
โดย thatsawan พ 24 มิ.ย. 2020 5:45 pm บอร์ด Programming - PHP
3
77
พฤ 25 มิ.ย. 2020 3:49 pm โดย Sirayu
ถ้าเราต้องการแสดงค่าตอน onchange ใน option ที่มี value มากกว่า 1
โดย thatsawan อ 23 มิ.ย. 2020 12:51 pm บอร์ด JavaScript & Jquery Ajax
2
131
อ 23 มิ.ย. 2020 3:01 pm โดย thatsawan
4 จุดเช็คอิน เกาะล้าน ยอดฮิต
โดย A2d จ 22 มิ.ย. 2020 10:44 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
75
ส 27 มิ.ย. 2020 12:01 am โดย A2d
ต้องการจะเปลี่ยนคำปุ่ม omise จาก Pay with Omise เป็นคำที่เรากำหนดขึ้นเอง
โดย thatsawan จ 22 มิ.ย. 2020 5:18 pm บอร์ด PHP Knowledge
2
108
จ 22 มิ.ย. 2020 5:39 pm โดย thatsawan
สาเหตุที่เด็กทารกแพ้นมวัว คุณแม่จะรับมือปัญหานี้อย่างไรดี
โดย medalezga จ 22 มิ.ย. 2020 1:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
64
จ 22 มิ.ย. 2020 1:58 pm โดย medalezga
ไม่เข้าใจคำสั่ง preg_replace
โดย profess79 ส 20 มิ.ย. 2020 11:56 am บอร์ด Programming - PHP
1
110
ส 20 มิ.ย. 2020 6:19 pm โดย profess79
วิธีการทำทศนิยม 3 ตำแหน่ง ด้วย python
โดย bolue ศ 19 มิ.ย. 2020 4:49 pm บอร์ด Python Knowledge
0
81
ศ 19 มิ.ย. 2020 4:49 pm โดย bolue
วิธีการ เพิ่มข้อมูล ลงฐานข้อมูล พร้อม รีเทิร์น id กลับมา ด้วยคำสั่ง sql
โดย bolue ศ 19 มิ.ย. 2020 3:25 pm บอร์ด SQL Knowledge
0
551
ศ 19 มิ.ย. 2020 3:25 pm โดย bolue
เจอปัญหา ส่งเมลผิดพลาด : Language string failed to load: from_failed บน phpmailer
โดย mindphp ศ 19 มิ.ย. 2020 3:26 am บอร์ด Programming - PHP
2
1561
ศ 19 มิ.ย. 2020 5:47 pm โดย mindphp
กฎหมายที่ใช้ควบคุมโรค โควิด-19 ฝ่าฝืนได้รับโทษอย่างไรบ้าง?
โดย Decha Thaweeumanjvaroj พฤ 18 มิ.ย. 2020 10:17 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
104
พฤ 18 มิ.ย. 2020 10:17 am โดย Decha Thaweeumanjvaroj
ไม่สามารถ start openerp-server ของ openerp 7 ได้
โดย bolue พฤ 18 มิ.ย. 2020 10:09 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
10
174
ศ 19 มิ.ย. 2020 12:49 pm โดย bolue