ในยุคที่ข้อมูลกลายเป็นสิ่งที่สำคัญมากยิ่งขึ้น ความสามารถในการนำเสนอข้อมูลในรูปแบบที่ทำให้เข้าใจง่ายตลอดจนการวิเคราะห์ข้อมูลอย่างมีประสิทธิภาพก็กลายเป็นสิ่งที่ต้องการมากขึ้นเช่นกัน สำหรับผู้ที่ทำงานเกี่ยวกับข้อมูลหรือนักพัฒนาซอฟต์แวร์ การมีเครื่องมือที่ดีสำหรับการสร้าง diagrams เพื่อนำเสนอโครงสร้าง หรืออธิบายไฟล์โฟลว์ของระบบนั้นเป็นสิ่งสำคัญไม่แพ้กัน โปรแกรมภาษา Python เป็นภาษาหนึ่งที่มีเครื่องมือจัดทำ diagrams มากมาย ในบทความนี้ เราจะมาดูกันว่ามีเครื่องมือใดบ้างที่ช่วยให้คุณสร้าง diagrams ได้สะดวกยิ่งขึ้น
Graphviz เป็นเครื่องมือที่ทรงพลังสำหรับการวิเคราะห์และสร้างภาพจากข้อมูลโครงสร้างเชิงกราฟิก และสามารถใช้งานผ่าน Python ได้ผ่านไลบรารี PyGraphviz หรือ graphviz python.
ตัวอย่าง CODE
:
from graphviz import Digraph
dot = Digraph(comment='The Round Table')
dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')
print(dot.source)
dot.render('round-table.gv', view=True)
ในตัวอย่างนี้ เราได้สร้าง diagram ที่มี node ต่างๆ และสร้าง edge เชื่อมต่อระหว่าง node และสามารถ render ออกมาเป็นภาพได้.
ไม่เพียงแต่ใช้สำหรับสร้างแผนภูมิและกราฟทางสถิติเท่านั้น แต่ matplotlib ก็มีความสามารถในการสร้าง diagrams ที่หลากหลาย เช่น flow charts หรือ tree diagrams ได้.
ตัวอย่าง CODE
:
import matplotlib.pyplot as plt
# สร้างข้อมูล
labels = 'Python', 'C++', 'Ruby', 'Java'
sizes = [215, 130, 245, 210]
# สร้าง pie chart
plt.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True)
# แสดงผล
plt.axis('equal')
plt.show()
ในตัวอย่างนี้ เราได้สร้างแผนภูมิพาย (pie chart) ด้วย matplotlib เพื่อแสดงการกระจายของข้อมูล.
Plotly เป็นห้องสมุดขั้นสูงที่รองรับการสร้าง diagrams และกราฟแบบอินเทอร์แอคทีฟ (interactive). สามารถนำมาใช้สร้างกราฟภาพที่มีความซับซ้อนได้ดีเยี่ยม.
ตัวอย่าง CODE
:
import plotly.graph_objects as go
fig = go.Figure(data=[go.Pie(labels=['Python', 'C++', 'Ruby', 'Java'], values=[215, 130, 245, 210])])
fig.update_traces(hoverinfo='label+percent', textinfo='value', textfont_size=20)
fig.show()
ตัวอย่างนี้เป็นการสร้าง pie chart ซึ่งสามารถโต้ตอบได้ ผู้ใช้สามารถ hover เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับแต่ละส่วนของกราฟ.
pygal เป็นเครื่องมือที่เหมาะกับการสร้างข้อมูลกราฟภาพที่มีความสวยงามและสามารถขยายขนาดได้ (scalable) รองรับการสร้าง SVG images ที่สามารถนำไปแสดงผลบนเว็บได้เป็นอย่างดี.
ตัวอย่าง CODE
:
import pygal
line_chart = pygal.Line()
line_chart.title = 'Browser usage in February 2012 (in %)'
line_chart.add('IE', [29.84, 27.84, 24.84, 23.84, 22.84])
line_chart.add('Firefox', [24.88, 25.88, 26.88, 27.88, 28.88])
line_chart.add('Chrome', [36.91, 38.91, 40.91, 43.91, 45.91])
line_chart.render_in_browser()
ตัวอย่างนี้แสดงการสร้างกราฟเส้นด้วย pygal ว่ามีการใช้งาน browser ต่างๆ เป็นอย่างไรในเดือนกุมภาพันธ์ 2012.
seaborn เป็นห้องสมุด Python ที่พัฒนาโดยใช้ matplotlib เป็นฐาน เนื่องจากมีการออกแบบมาเพื่อให้สร้างข้อมูลภาพสถิติได้อย่างง่ายดายและ美觀.
ตัวอย่าง CODE
:
import seaborn as sns
import matplotlib.pyplot as plt
# สร้างข้อมูล
tips = sns.load_dataset("tips")
# สร้าง violin plot
sns.violinplot(x="day", y="total_bill", data=tips)
plt.show()
และนี่คือรูปแบบการสร้าง violin plot ซึ่งใช้ในการแสดงการกระจายข้อมูลของยอดการชำระเงินตามวันใน tips dataset.
การสร้าง diagram ด้วยเครื่องมือ Python เหล่านี้ไม่เพียงช่วยให้ข้อมูลที่มีความซับซ้อนสามารถนำเสนอได้อย่างชัดเจน แต่ยังช่วยให้กระบวนการนี้เป็นไปได้ง่าย และเข้าถึงได้โดยทุกคน ไม่ว่าคุณจะเป็นนักวิชาการ นักวิเคราะห์ข้อมูล หรือนักพัฒนาโปรแกรม การมีทักษะในการใช้งานเครื่องมือเหล่านี้จะช่วยให้คุณขับเคลื่อนข้อมูลไปสู่ความสำเร็จได้.
ถ้าคุณสนใจในการเรียนรู้การโปรแกรมเพิ่มเติมและอยากจะเพิ่มศักยภาพด้านการสร้าง diagrams ด้วย Python ลองทำการศึกษาและฝึกฝนด้วยตัวเอง หรือ ร่วมห้องเรียนที่ EPT ซึ่งยินดีที่จะกางเบียงและแชร์ประสบการณ์การเรียนการสอนในคอร์สต่างๆ ที่คุณสามารถเรียนรู้ได้อย่างลึกซึ้งและมีประสิทธิภาพ.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM