- ECharts เป็นไลบรารีการแสดงผลข้อมูลด้วย JavaScript แบบโอเพนซอร์สที่ปรับให้เหมาะกับทั้ง PC และมือถือ
- รองรับเบราว์เซอร์สมัยใหม่ส่วนใหญ่ เช่น Internet Explorer 9/10/11, Chrome, Firefox, Safari เป็นต้น
- ใช้ ZRender ซึ่งเป็นเอนจินเรนเดอร์กราฟิกของตัวเอง เพื่อมอบกราฟคุณภาพสูงที่เข้าใจง่ายและโต้ตอบได้
มีประเภทกราฟให้เลือกหลากหลาย
- รองรับ line chart, bar chart, scatter plot, pie chart, candlestick chart, boxplot, map, heatmap, line chart สำหรับข้อมูลทิศทาง, relation graph, treemap, sunburst, parallel coordinates, funnel chart, gauge chart และอื่นๆ
- สามารถผสานประเภทการแสดงผลหลายแบบเพื่อสร้างกราฟแบบผสมได้
- รองรับ custom chart series โดยเพียงส่ง callback function
renderItem ก็สามารถสร้างองค์ประกอบกราฟิกตามต้องการได้อย่างอิสระ
- มีความสามารถด้านการโต้ตอบในตัว พร้อมใช้งานได้ทันทีโดยไม่ต้องตั้งค่าเพิ่มเติม
ฟีเจอร์ดาวน์โหลดแบบเลือกเฉพาะคอมโพเนนต์และแพ็กเกจขนาดเบา
- แพ็กเกจพื้นฐานถูกปรับแต่งประสิทธิภาพมาอย่างมาก แต่ผู้ใช้สามารถเลือกเฉพาะประเภทกราฟและคอมโพเนนต์ที่ต้องการเพื่อสร้างแพ็กเกจขนาดเบาได้
- สามารถดาวน์โหลด custom bundle ที่มีเฉพาะฟีเจอร์ที่ต้องการผ่าน online builder ได้
รองรับรูปแบบข้อมูลหลากหลาย
- ตั้งแต่ v4.0 รองรับโครงสร้างข้อมูลหลายแบบผ่านพร็อพเพอร์ตี
dataset เช่น อาร์เรย์สองมิติและอ็อบเจ็กต์แบบ key-value
- สามารถแมปโครงสร้างข้อมูลได้อย่างเข้าใจง่ายด้วยพร็อพเพอร์ตี
encode
- ช่วยประหยัดเวลาในการเขียนอัลกอริทึมแปลงข้อมูลและลดการใช้หน่วยความจำให้น้อยที่สุด
- สามารถแชร์
dataset เดียวกันระหว่างหลายคอมโพเนนต์ได้
- รองรับ TypedArray เพื่อช่วยประหยัดหน่วยความจำและเพิ่มประสิทธิภาพ
ปรับแต่งให้เหมาะกับการแสดงผลข้อมูลขนาดใหญ่
- มีเทคนิค incremental rendering สำหรับการแสดงผลจุดข้อมูลระดับหลายล้านจุด
- ฟีเจอร์โต้ตอบอย่างการซูมและการเลื่อนก็ยังทำงานได้ลื่นไหลแม้กับข้อมูลขนาดใหญ่
- รองรับการเรนเดอร์ข้อมูลสตรีมมิงผ่าน WebSocket
- สามารถแสดงผลข้อมูลได้โดยไม่ต้องโหลดข้อมูลทั้งหมดพร้อมกัน
ปรับให้เหมาะกับมือถือ
- ปรับแต่งมาให้เหมาะกับการซูมและการเลื่อนในสภาพแวดล้อมมือถือ
- บน PC ก็สามารถทำงานแบบเดียวกันผ่านเมาส์วีลได้
- มีแพ็กเกจขนาดเล็กสำหรับมือถือโดยเฉพาะ
- หากเลือกใช้เอนจินเรนเดอร์แบบ SVG จะช่วยลดการใช้หน่วยความจำได้เพิ่มเติม
รองรับวิธีเรนเดอร์และแพลตฟอร์มที่หลากหลาย
- รองรับการเรนเดอร์หลายรูปแบบ เช่น Canvas, SVG (v4.0 ขึ้นไป), VML
- VML ใช้เพื่อรองรับ IE รุ่นเก่า, SVG ใช้หน่วยความจำได้มีประสิทธิภาพบนมือถือ, ส่วน Canvas เหมาะกับงานข้อมูลขนาดใหญ่
- ในสภาพแวดล้อม Node.js สามารถทำ server-side rendering (SSR) ได้ผ่าน
node-canvas
- ใช้งานได้บน WeChat MiniProgram ด้วย
- ชุมชนยังได้พัฒนาส่วนขยายสำหรับภาษาอย่าง Python (
pyecharts), R (echarty), Julia (ECharts.jl) เป็นต้น
- ด้วยการรองรับหลายแพลตฟอร์มและหลายภาษา นักพัฒนาจึงโฟกัสกับงานด้านการแสดงผลข้อมูลได้เต็มที่
ฟีเจอร์สำรวจข้อมูลแบบโต้ตอบ
- สามารถสำรวจจากข้อมูลภาพรวมไปสู่รายละเอียดได้ผ่านการซูม การแพน และการกรอง
- มีคอมโพเนนต์สำหรับการโต้ตอบหลากหลาย เช่น
legend, visualMap, dataZoom, tooltip, brush
- ทำให้สามารถสำรวจข้อมูลได้หลายรูปแบบผ่านส่วนติดต่อผู้ใช้
เสริมความสามารถด้านการแสดงผลข้อมูลหลายมิติ
- ตั้งแต่ ECharts 3 ได้เสริมการรองรับการแสดงผลข้อมูลหลายมิติให้แข็งแกร่งยิ่งขึ้น
- นอกจากการแสดงผลหลายมิติแบบดั้งเดิมอย่างระบบพิกัดแบบขนานแล้ว ยังมีวิธีนำเสนอข้อมูลได้อีกหลากหลาย
- สามารถใช้คอมโพเนนต์
visualMap เพื่อแมปข้อมูลแต่ละมิติเข้ากับคุณสมบัติด้านภาพ เช่น สี ขนาด ความโปร่งใส และเฉดสี
สะท้อนข้อมูลแบบเรียลไทม์
- เมื่อชุดข้อมูลเปลี่ยนแปลง กราฟจะอัปเดตตามแบบเรียลไทม์
- ระบบจะตรวจจับการเปลี่ยนแปลงของข้อมูลโดยอัตโนมัติและแสดงผลบนกราฟด้วยแอนิเมชัน
- ยังสามารถใช้คอมโพเนนต์
timeline เพื่อแสดงข้อมูลตามลำดับเวลาที่ไหลผ่านได้
มีเอฟเฟกต์ภาพพิเศษให้ใช้งาน
- สามารถใส่เอฟเฟกต์ภาพกับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจุด เส้น หรือข้อมูลภูมิศาสตร์
- ช่วยดึงดูดความสนใจของผู้ใช้และทำให้การสื่อสารข้อมูลมีประสิทธิภาพยิ่งขึ้น
การแสดงผล 3D บนพื้นฐาน WebGL
- ECharts GL ใช้ WebGL เป็นพื้นฐาน และรองรับการแสดงผล 3D หลากหลาย เช่น ลูกโลก 3D อาคาร และฮิสโตแกรมประชากร
- สามารถเพิ่มเอฟเฟกต์ภาพได้ด้วยการตั้งค่าที่เรียบง่าย
- นำไปใช้กับ VR และจอขนาดใหญ่ได้ด้วย
รองรับการเข้าถึง
- เป็นไปตามมาตรฐานการเข้าถึง WAI-ARIA ของ W3C
- สามารถสร้างคำอธิบายอัตโนมัติสำหรับผู้พิการทางสายตาโดยอิงจากข้อมูลการตั้งค่ากราฟ
- ทำให้เข้าถึงเนื้อหาการแสดงผลข้อมูลผ่านโปรแกรมอ่านหน้าจอได้
2 ความคิดเห็น
echart สวยและใช้ได้ดีครับ โดยส่วนตัวแล้วผมรู้สึกว่าใช้งานง่ายกว่า highcharts
ความเห็นจาก Hacker News
ระหว่างพัฒนา Briefer ได้ทดสอบไลบรารีด้านการทำภาพข้อมูลแทบทั้งหมดแล้ว และ Apache ECharts คืออันที่ดีที่สุด
ขอแนะนำ
go-echartsด้วยหลังจากลองไลบรารีอื่นมามากมาย ก็เลือก Apache ECharts เมื่อปีที่แล้ว และไม่เคยเสียใจเลย
คิดว่า ECharts คือไลบรารีที่ดีที่สุด
ใช้ Apache ECharts ในผลิตภัณฑ์มาตั้งแต่ปี 2020
line race เจ๋งมาก
ถ้ากำลังมองหาไลบรารีกราฟสำหรับเว็บไคลเอนต์ ขอแนะนำ charts.css ด้วย
พอเห็นการประกาศแพ็กเกจกราฟ JS ชื่อ ECharts ก็คิดว่าอีก 1 ปีคงเลิกบำรุงรักษา
กำลังหาไลบรารีกราฟสำหรับ React/React Native และ Apache ECharts เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการทำภาพข้อมูลแบบข้ามแพลตฟอร์ม
ได้เพิ่ม ECharts เป็นไลบรารีกราฟสำหรับ AI และกำลังเปลี่ยนกราฟ GUI พื้นฐานไปใช้ ECharts