เครื่องมือทำ Data Visualization แบบเขียนโปรแกรม ใช้ตัวไหนดี (RShiny, Ggplot, Seaborn, Matplotlib, D3.js)

data visualization tools rshiny ggplot matplotlib d3js

เพื่อนๆเคยสงสัยไหมว่า visualization หรือกราฟที่สวยๆ อลังการ ขยับได้ ซูมได้ นี่เขาใช้เครื่องมืออะไรทำกัน

การบอกเล่าเรื่องราวหรือนำเสนอข้อมูลออกไปเป็นสิ่งสำคัญอย่างหนึ่งหลังการวิเคราะห์ข้อมูล ที่จะช่วยให้เราส่งต่อ บอกเล่าถึงสิ่งที่เราเข้าใจ หรือแม้แต่ทำให้เราเข้าใจข้อมูล แนวโน้มและความสัมพันธ์ที่ซ่อนอยู่ในข้อมูลมากขึ้น

เครื่องมือทำ Data Visualization แบบเขียนโปรแกรม ใช้ตัวไหนดี (RShiny, Ggplot, Seaborn, Matplotlib, D3.js) 1

ในบทความนี้ เราจะพาไปสำรวจเครื่องมือและ libraries ที่ใช้ในการทำ visualisation จากการเขียนโปรแกรมและการวิเคราะห์ข้อมูล (EDA) ตั้งแต่ RShiny จนถึง D3.js แต่ละเครื่องมือมีคุณสมบัติและความสามารถที่แตกต่างกัน เพื่อช่วยให้เราสามารถวิเคราะห์ สร้างกราฟ และ สื่อสาร message จากข้อมูลออกไปได้อย่างชัดเจนและมีประสิทธิภาพ

ความสำคัญของการทำ Visualization

การแสดงข้อมูลมีความสำคัญอย่างมากในการวิเคราะห์ข้อมูล เนื่องจากมันช่วยในการสร้างความเข้าใจในข้อมูลที่ซับซ้อน และช่วยในการตัดสินใจในการดำเนินการต่อไป การใช้ข้อมูลแสดงอย่างเหมาะสมสามารถช่วยให้ผู้ใช้เห็นแนวโน้ม และความสัมพันธ์ของข้อมูลได้อย่างชัดเจน เราสามารถทำนายแนวโน้ม ตรวจสอบความสัมพันธ์ระหว่างตัวแปร และค้นหาข้อมูลสำคัญที่อาจถูกปรับปรุงได้ ทั้งนี้เป็นเครื่องมือสำคัญที่ช่วยให้เราตัดสินใจในการวิเคราะห์ข้อมูลอย่างมีประสิทธิภาพ

เครื่องมือ และ Libraries การแสดงข้อมูลสำหรับการเขียนโปรแกรมและ EDA

ในปัจจุบันเครื่องมือและ library ในการทำ visualization นั้น มีจำนวนมาก ซึ่งมีความหลากหลายและความสามารถที่แตกต่างกัน อีกทั้งยังมีการพัฒนา feature ต่างๆ ให้ดีขึ้นไปเรื่อยๆ เราจะเริ่มต้นด้วยนำเสนอเครื่องมือที่ได้รับความนิยมในส่วนของการนำไปใช้วิเคราะห์ข้อมูลและแสดงข้อมูลในปัจจุบันกัน

RShiny (R & Python)

RShiny เป็นเครื่องมือที่ทรงพลังและมีความยืดหยุ่นในการสร้างกราฟแสดงข้อมูลในรูปแบบเว็บแอปพลิเคชันแบบ interactive และยังสามารถสร้าง Dashboard ได้โดยตรงจากกรอบการทำงานของภาษา R Application โดยไม่จำเป็นต้องมีความรู้เกี่ยวกับการสร้างเว็บไซต์เลยแม้แต่น้อย ก็จะได้เว็บ Application ในรูปแบบเรียบง่ายและมินิมอล (แต่ถ้าใครมีความรู้เพิ่มเติมด้าน CSS ก็จะสามารถตกแต่งสี ลูกเล่นเพิ่มเติมได้ หรือถ้าใครรู้ Javascript ก็อาจจะสร้างระบบเตือนเพิ่มเติมขึ้นมาได้)

หลังสร้างกราฟหรือว่า Application ขึ้นมาแล้วเราก็จะสามารถเอาไปแปะไว้บนเว็บออนไลน์ โพสต์บนหน้าเว็บเพจแยกต่างหาก Internal server หรือแม้แต่เอาไปแปะใน R Markdown ก็ยังได้

เพิ่มเติมว่าจริงๆแล้ว Shiny ก็มีเวอร์ชั่นของ Python ที่เพิ่งเพิ่มมาหลัง R ด้วย

ตัวอย่าง Visualisation จาก RShiny

เครื่องมือทำ Data Visualization แบบเขียนโปรแกรม ใช้ตัวไหนดี (RShiny, Ggplot, Seaborn, Matplotlib, D3.js) 2

ถ้าใครอยากเรียนรู้เพิ่มเติมหรืออยากมี Web application เป็นของตัวเองเข้าไปตามได้ใน Shiny ได้เลย

Ggplot2 (R)

Ggplot, หรือที่รู้จักกันในชื่อ ggplot2, เป็น package แบบ open source (package คือ กลุ่มของฟังก์ชันและข้อมูลที่ผู้ใช้ R สร้างไว้ใช้งาน ซึ่งก็มีจำนวนมาก แต่ก็จะมีที่เราใช้กันจริงๆไม่กี่อัน) ที่ได้รับความนิยมอันหนึ่งในการใช้สร้างกราฟิกแสดงข้อมูลในภาษา R ซึ่งมีความยืดหยุ่นและสามารถใช้งานได้เต็มรูปแบบตั้งแต่การสร้างกราฟแบบพื้นฐานจนไปถึงกราฟที่มีคุณภาพสูงที่ใช้ในงานวิจัย

ggplot2 นั้นสร้างโดยเบสจากหนังสือ Grammar of Graphics ซึ่งเขียนโดย Hadley Wickham โดยมีการสร้างกราฟเป็นแบบ layer ต่อ layer ลองจินตนาการว่าเรามีกระดาษเปล่าแผ่นนึง แล้ววาดเส้นแกน X แกน Y ลงไปเป็นหนึ่ง layer แล้วใส่หัวข้อ หรือสีเป็นอีกหนึ่ง layer ลงไปซึ่งช่วยให้ผู้ใช้สามารถโฟกัสที่ข้อมูลและผลลัพธ์การแสดงข้อมูลที่ต้องการ รวมไปถึงรายละเอียดได้อย่างครบถ้วน ทำให้เป็นเครื่องมือที่สำคัญสำหรับการวิเคราะห์ข้อมูลและกราฟิกที่มีคุณภาพสูง

ตัวอย่าง Visualisation จาก ggplot2

เครื่องมือทำ Data Visualization แบบเขียนโปรแกรม ใช้ตัวไหนดี (RShiny, Ggplot, Seaborn, Matplotlib, D3.js) 3

ใครอยากรู้เพิ่มเติมเกี่ยวกับ ggplot2 เข้าไปเริ่มเรียนรู้ได้ใน Introduction to ggplot2 หรือเข้าไปดูว่ากราฟของใน ggplot2 มีหน้าตาสวยงามมากแค่ไหนได้ใน ggplot2 gallery

Matplotlib (Python)

Matplotlib เป็นหนึ่งใน library สำหรับการสร้างและแสดงข้อมูลที่ได้รับความนิยมและ เป็น library แรกๆของใครหลายๆคนในการเรียน Python ไม่ว่าจะเป็นกราฟ static, แอนิเมชัน, หรือแบบ interactive มีความยืดหยุ่นในการปรับแต่งที่หลากหลาย ทำให้เหมาะสำหรับการใช้งานในหลายสถานการณ์ ไม่ว่าจะเป็นการวาดกราฟเส้นง่ายหรือการสร้างภาพที่มีหลาย panel นอกจากนี้ Matplotlib ยังมีฟังก์ชันการวาดกราฟที่ครอบคลุมและ interface ที่ครบถ้วนทำให้เป็นเครื่องมือที่สามารถพัฒนาโปรแกรมแสดงข้อมูลได้อย่างหลากหลายและมีประสิทธิภาพอย่างสูง

ตัวอย่าง Visualisation จาก Matplotlib

เครื่องมือทำ Data Visualization แบบเขียนโปรแกรม ใช้ตัวไหนดี (RShiny, Ggplot, Seaborn, Matplotlib, D3.js) 4

ถ้าใครสนใจอยากเห็นตัวอย่างเพิ่มเติมหรือแม้แต่ Cheat Sheet เข้าไปดูได้ที่ใน matplotlib.org

Seaborn (Python)

Seaborn เป็น library ที่สร้างขึ้นบน Matplotlib และถูกออกแบบมาเพื่อทำงานกับ Pandas ซึ่งทำให้การใช้งานง่ายสำหรับการสร้างกราฟสถิติ มีธีมที่ออกแบบมาอยู่แล้วทำให้กระบวนการแสดงข้อมูลเป็นเรื่องสนุกและน่าสนใจยิ่งขึ้น มีฟังก์ชันที่ช่วยในการสร้างแผนภูมิทางสถิติที่มีความทันสมัยและง่ายต่อการเข้าใจ ทำให้ Seaborn เป็นอีกเครื่องมือหนึ่งใน Python ที่หลายคนใช้งาน การใช้ Seaborn จะช่วยให้การแสดงข้อมูลของคุณมีความสวยงามและมีนัยสำคัญอย่างมาก โดยใช้งานง่ายและสามารถปรับแต่งได้อย่างหลากหลาย เพื่อให้ข้อมูลของคุณน่าสนใจและมีผลลัพธ์ที่น่าประทับใจ

ตัวอย่าง Visualisation จาก Seaborn

เครื่องมือทำ Data Visualization แบบเขียนโปรแกรม ใช้ตัวไหนดี (RShiny, Ggplot, Seaborn, Matplotlib, D3.js) 5

เพื่อนๆสามารถเข้าไปดูการติดตั้งการใช้งาน เข้าไปดูรูปแบบ visualization และ Tutorial ได้ที่ seaborn.pydata.org

D3.js (Javascript)

D3.js เป็นไลบรารี JavaScript ที่มีชื่อเสียงในการสร้างแสดงข้อมูลแบบไดนามิกและแอคทีฟในเบราว์เซอร์เว็บ มันช่วยให้นักพัฒนาสามารถจัดการเอกสารตามข้อมูลได้อย่างอิสระ ซึ่งทำให้สามารถสร้างแสดงข้อมูลแบบกำหนดเอง แผนภูมิแบบแอคทีฟ และเอกสารที่ใช้ข้อมูลได้ เนื่องจากความยืดหยุ่นและการสนับสนุนจากชุมชนที่หลากหลาย D3.js มักถูกใช้สำหรับการสร้างแสดงข้อมูลที่ซับซ้อนในเว็บและแอปพลิเคชันที่ใช้ข้อมูลได้ การใช้ D3.js จะช่วยให้การแสดงข้อมูลของคุณมีความสวยงามและมีนัยสำคัญอย่างมาก เนื่องจากคุณสามารถปรับแต่งและสร้างแสดงข้อมูลที่เป็นเอกลักษณ์ได้อย่างเต็มที่ ด้วยความยืดหยุ่นและความสามารถในการปรับแต่งที่สูง

ตัวอย่าง Visualisation จาก D3.js

เข้าไปดูตัวอย่าง D3.js ได้ใน D3 gallery

หนึ่งในคนแรกๆที่ทำให้กราฟเหล่านี้เป็นที่นิยม และทำให้คนตระหนักถึงพลังของ Data Visualisation มากขึ้นก็คือ Hans Rosling โปรเฟสเซอร์ชาว Swedish ซึ่งขึ้นพูดบน TED Talk ใน Let my dataset change your mind ต้องบอกเลยว่าเป็นหนึ่งในวีดีโอที่ดีมากและเป็นแรงบันดาลใจสำหรับใครหลายๆคน

Tools and Libraries เพิ่มเติม

นอกเหนือจากเครื่องมือและ library ที่ได้กล่าวถึงแล้ว ยังมีเครื่องมือและ library เพิ่มเติมที่สามารถช่วยในการแสดงข้อมูลและการวิเคราะห์ข้อมูลได้ดังนี้:

1. Plotly: มีความสามารถในการแสดงข้อมูลแบบแอคทีฟและรองรับการผสานกับ Python, R และ JavaScript ซึ่งมีความสามารถในการสร้างและแสดงข้อมูลอย่างสร้างสรรค์

2. Bokeh: ให้ความสามารถในการแสดงและสร้างแดชบอร์ดแบบแอคทีฟสำหรับ Python และเว็บเบราว์เซอร์ มีความสามารถในการสร้างกราฟและแสดงข้อมูลที่มีประสิทธิภาพ

3. Altair: มีคุณลักษณะการแสดงข้อมูลแบบทางสถิติแบบสมัครใจใน Python และรองรับการผสานกับข้อมูล Pandas ช่วยให้สามารถสร้างกราฟที่มีความสวยงามและสื่อความหมายได้อย่างมีประสิทธิภาพ

การใช้เครื่องมือและไลบรารีเหล่านี้จะช่วยให้คุณสามารถสร้างและแสดงข้อมูลอย่างมีประสิทธิภาพและมีนัยสำคัญ โดยการเลือกใช้เครื่องมือที่เหมาะสมจะช่วยให้การวิเคราะห์ข้อมูลและการแสดงข้อมูลของคุณมีประสิทธิภาพและน่าสนใจ

การเลือกเครื่องมือ Visualisation ระหว่าง Python, R, Javascript

เมื่อพูดถึงการเปรียบเทียบเครื่องมือและ library ใน Python, R, และ JavaScript สำหรับการแสดงข้อมูลและการวิเคราะห์ข้อมูล มีข้อดีและข้อเสียของแต่ละภาษาดังนี้:

Python:

ข้อดีข้อเสีย
มี Matplotlib, Seaborn, Plotly, Bokeh, Altair เป็น library ที่มีความสามารถในการสร้างและแสดงข้อมูลอย่างหลากหลายบางครั้งการใช้งานของ Matplotlib อาจจะทำให้การปรับแต่งกราฟดูซับซ้อนไปบ้าง
มีไลบรารี Pandas ที่มีความสามารถในการจัดการข้อมูลและการวิเคราะห์ข้อมูลอย่างมีประสิทธิภาพต้องใช้งานร่วมกับไลบรารีอื่นๆ เพื่อสร้างฟีเจอร์ที่ซับซ้อนขึ้น เช่นการสร้างแอนิเมชันหรือแผนภูมิแบบ interactive
มี Jupyter Notebook เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการสร้างรายงานและแสดงผลการวิเคราะห์ข้อมูล

R:

ข้อดีข้อเสีย
มีไลบรารี Ggplot2 ที่มีความสามารถในการสร้างกราฟและแสดงข้อมูลอย่างมีความยืดหยุ่นและสวยงามอาจมีความซับซ้อนในการใช้งานเมื่อเปรียบเทียบกับ Python สำหรับผู้ที่ไม่คุ้นเคยกับ R
RShiny เป็นเครื่องมือที่ทรงพลังในการสร้างเว็บแอปพลิเคชันแบบ interactive ที่ใช้งานได้ง่ายการทำงานบางอย่างอาจไม่สามารถทำได้โดยตรงใน RShiny และต้องใช้การเขียนโปรแกรมเพิ่มเติมด้วยภาษา JavaScript
มีหลายไลบรารีที่เหมาะสำหรับการวิเคราะห์ข้อมูลและการสร้างกราฟ เช่น dplyr, tidyr, gganimate

JavaScript:

ข้อดีข้อเสีย
D3.js เป็นไลบรารีที่มีความยืดหยุ่นสูงในการสร้างและแสดงข้อมูลแบบไดนามิกในเว็บเบราว์เซอร์ความซับซ้อนในการเรียนรู้และใช้งานสำหรับผู้ที่ไม่มีพื้นฐานในการเขียนโปรแกรมหรือการพัฒนาเว็บ
มีไลบรารีอื่นๆ เช่น Plotly.js, Chart.js, Highcharts ที่ช่วยในการสร้างแผนภูมิและกราฟอย่างง่ายดายการสร้างแสดงข้อมูลที่ซับซ้อนอาจจะต้องใช้เวลาและความพยายามมากขึ้นเมื่อเปรียบเทียบกับ Python และ R
สามารถใช้ JavaScript ในการสร้างเว็บแอปพลิเคชันที่มีประสิทธิภาพและสวยงาม

สรุปการใช้เครื่องมือ Data Visualisation

การแสดงข้อมูล Visulisation เป็นสิ่งสำคัญที่ไม่ควรมองข้ามในการวิเคราะห์ข้อมูลและการเขียนโปรแกรม การใช้เครื่องมือและ libraries ที่เหมาะสมสามารถช่วยให้เราเข้าใจข้อมูลได้อย่างชัดเจนและทำงานกับข้อมูลได้อย่างมีประสิทธิภาพ มีหลายเครื่องมือและ libraries ที่เราสามารถใช้งานได้ เช่น Rshiny, Ggplot, Matlotlib, Seaborn, Plotly, Bokeh, Altair และ D3.js

เครื่องมือเหล่านี้ช่วยให้เราสามารถสร้างและแสดงข้อมูลอย่างสร้างสรรค์และมีประสิทธิภาพ โดยการเลือกใช้เครื่องมือที่เหมาะสมจะช่วยให้เราทำงานได้อย่างมีประสิทธิภาพและตอบสนองต่อความต้องการของโครงการและธุรกิจของเราได้อย่างเหมาะสม

หากสนใจทำ Visualisation เข้าไปดูวิธีการเลือกกราฟได้ที่ สูตรลับ Data Visualization – Mind map วิธีเลือก Chart ให้คนดูเข้าใจง่าย

ถ้าเพื่อน ๆ คิดว่าบทความนี้มีประโยชน์ อยากฝากให้ช่วยแชร์ให้เพื่อน ๆ หน่อยนะคะ และถ้าอยากติดตามบทความดี ๆ ด้าน Data กันบน Facebook หรืออยากมาพูดคุย ติชมกัน เชิญได้ที่ Facebook Page: DataTH – Data Science ชิลชิล เลยนะค้าา

แล้วพบกันใหม่บทความหน้าค่ะ

บทความอื่น ๆ ที่เกี่ยวข้อง

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save