- Flint คือภาษาการสร้างภาพข้อมูลที่ตัดสินใจเรื่องการพาร์ส แกน รูปแบบ และสีโดยอัตโนมัติตามความหมายของฟิลด์ข้อมูล ทำให้สร้างและแก้ไขแผนภูมิได้โดยไม่ต้องตั้งค่าระดับต่ำ
- อนุมานรายละเอียดการจัดองค์ประกอบที่จำเป็นสำหรับ visual encoding ด้วย semantic type เช่น
Rank,YearMonth,Delta,Temperature - ปรับขนาด ระยะห่าง และการจัดวางด้วย โมเดลเลย์เอาต์ที่ยืดหยุ่น และหลักการ banking โดยเมื่อแผนภูมิขยายขึ้น จะขยาย canvas และลดความกว้างของ band เพื่อรองรับองค์ประกอบที่หนาแน่น
- รองรับ แผนภูมิ 50 ประเภท ใน Vega-Lite, ECharts, Chart.js, Plotly และสร้างแผนภูมิ Excel แบบเนทีฟที่แก้ไขได้ผ่าน Office.js
- สามารถสลับแบ็กเอนด์จากอินเทอร์เฟซเดียว และใช้ประโยชน์จาก จุดแข็งของแต่ละเครื่องมือ เช่น sunburst แบบลำดับชั้นของ ECharts, trace ด้านสถิติและการวิเคราะห์ของ Plotly, และความสามารถในการแก้ไขภายใน workbook ของ Excel
ข้อกำหนดตามความหมายและการปรับให้เหมาะสมอัตโนมัติ
- Flint อนุมานการพาร์ส สเกล แกน รูปแบบ และชุดสีด้วย semantic type ที่แสดงความหมายของฟิลด์ข้อมูล เช่น
Rank,YearMonth,Delta,Temperature- ใน heatmap ที่แสดงการเปลี่ยนแปลงของผู้ใช้ใหม่สุทธิตามเกมและตามเดือน จะกำหนด
gameเป็นCategory,periodเป็นYearMonth, และnewUsersเป็นProfit - ตามความหมายที่กำหนด ระบบจะตัดสินใจ parser สำหรับค่าเวลา รูปแบบแกน ชุดสีแบบ diverging และจุดกึ่งกลางโดยอัตโนมัติ
- ใน heatmap ที่แสดงการเปลี่ยนแปลงของผู้ใช้ใหม่สุทธิตามเกมและตามเดือน จะกำหนด
- การปรับเลย์เอาต์อัตโนมัติให้เหมาะสม ใช้โมเดลเลย์เอาต์ที่ยืดหยุ่นและหลักการ banking เพื่อจัดการขนาด ระยะห่าง และการจัดวางให้เข้ากับ canvas แบบไดนามิก
- เมื่อ grouped bar chart ขยายจากองค์ประกอบแบบ sparse
5 × 3ไปเป็นแบบหนาแน่น22 × 3ระบบจะขยาย canvas และลดความกว้างของ band - เป็นวิธีที่คล้ายกับการที่สปริงจัดตำแหน่งตัวเองภายใน container ที่ขยายได้
- เมื่อ grouped bar chart ขยายจากองค์ประกอบแบบ sparse
- สามารถเปลี่ยนดีไซน์ได้ด้วยการ สลับประเภทแผนภูมิ และเชื่อมต่อ visual encoding ใหม่ โดยไม่ต้องจัดการพารามิเตอร์ระดับต่ำที่เปราะบางโดยตรง
- faceted bar chart ที่แสดงการกระจายประชากรตามเพศและอายุจากสำมะโนประชากรสหรัฐฯ ปี 2000 จะเปลี่ยนเป็น pyramid chart ได้เพียงเปลี่ยนประเภทแผนภูมิ ส่วนการตั้งค่าระดับต่ำที่เหลือ compiler จะจัดการให้
การรองรับแบ็กเอนด์และรีลีสล่าสุด
- รองรับ แผนภูมิ 50 ประเภท ครอบคลุม Vega-Lite, ECharts, Chart.js, Plotly และใน gallery มีตัวอย่าง 121 รายการแยกตามแบ็กเอนด์
- อินเทอร์เฟซแบบรวมช่วยซ่อน API และโมเดลการเขียนโปรแกรมที่แตกต่างกันของแต่ละแบ็กเอนด์
- ECharts ใช้กับ sunburst แบบลำดับชั้นได้ ส่วน Plotly ใช้กับ trace ด้านสถิติและการวิเคราะห์ได้
- ส่งออกเป็น แผนภูมิ Excel แบบเนทีฟ ที่แทรกและแก้ไขใน workbook ได้ผ่าน Office.js
- v0.4.0 เพิ่ม แผนภูมิ Plotly 38 ประเภท และเทมเพลตแผนภูมิ Excel แบบเนทีฟที่แก้ไขได้ 18 รายการ เมื่อวันที่ 24 กรกฎาคม 2026
- v0.3.0 เพิ่ม วิดเจ็ตแผนภูมิแบบไดนามิก สำหรับสลับประเภทแผนภูมิและแก้ไขคุณสมบัติ ณ ตำแหน่งเดิม เมื่อวันที่ 19 กรกฎาคม 2026
- v0.2.2 เพิ่มโหมด compact dodge และเลย์เอาต์ violin แบบ grouped เมื่อวันที่ 15 กรกฎาคม 2026
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
แม้ในยุค AI ผมก็ยังมองว่า API ของ ggplot คือ API สำหรับกราฟที่ดีที่สุด “Grammar of Graphics” ไม่ใช่แค่ถ้อยคำการตลาด แต่เป็นความพยายามจริงจังที่จะสร้างไวยากรณ์ที่สามารถอธิบายกราฟเชิงคุณภาพทุกรูปแบบที่เป็นไปได้
กระบวนการนั้นอยู่ใน https://link.springer.com/book/10.1007/0-387-28695-0 ผมเจอหนังสือเล่มนี้ตอนสำรวจกราฟยุคเก่าที่วาดด้วยกระดาษและปากกา โดยกราฟในรายงานประจำปีช่วงทศวรรษ 1960~1980 ของธนาคารกลางออสเตรเลียมีเอกลักษณ์เฉพาะตัว แต่พอถึงต้นทศวรรษ 2000 ก็เปลี่ยนเป็นกราฟ Excel ที่จืดชืด
แม้ ggplot จะยังถ่ายทอดเสน่ห์ของกราฟเก่าๆ ได้ไม่ครบถ้วน แต่ดูเหมือนจะอ้างอิงวิธีสื่อสารข้อมูลมามากพอสมควร ในหัวข้อ 20.1 มีการสร้าง กราฟ Minard ที่แสดงการยกทัพไปรัสเซียของนโปเลียนขึ้นมาใหม่ และสามารถดูตัวอย่างคล้ายกันได้ที่ https://www.andrewheiss.com/blog/2017/08/10/exploring-minard...
ผลลัพธ์ดูดีกว่า pyplot และ API ที่สร้างทับบน pyplot และดูเหมือน pyplot จะมีข้อจำกัดมากในด้านการเรนเดอร์แบบแรสเตอร์และการจัดการข้อความ ggplot อยู่ในระบบนิเวศ R จึงไม่ค่อยเป็นที่รู้จักในหมู่วิศวกรซอฟต์แวร์ แต่ก็อยากให้ระบบนิเวศ Node.js และ Python อ้างอิง API นี้มากขึ้น
ผมยังเผยแพร่ Algraf ซึ่งเป็น DSL ที่สร้างขึ้นโดยได้รับแรงบันดาลใจจากปรัชญาเดียวกันด้วย: https://williamcotton.github.io/algraf/demos ในเดโมมีกราฟ Minard รวมอยู่ด้วย
พัฒนาโดยสายของ RStudio ซึ่ง Hadley Wickham ผู้สร้าง ggplot เคยทำงานอยู่ และปัจจุบันได้รับการสนับสนุนจาก Posit ซึ่งเป็นที่ทำงานของเขาในตอนนี้
ผมลองใช้ทั้ง Flint และวิธีให้ AI สร้างสเปก Vega-Lite โดยตรงแล้ว Flint ไม่ใช่คำตอบที่ดีกว่า
Flint ใช้ได้ดีเมื่อปรับแต่งชนิดกราฟที่กำหนดไว้ล่วงหน้าในระดับต่ำ แต่ถ้าให้เอเจนต์หรือซับเอเจนต์สร้างสเปก Vega โดยตรง จะทำ visualization ที่ยืดหยุ่นและคุณภาพสูงกว่าได้มาก เช่น การแสดงค่าต่ำสุด·สูงสุดของ time series หรือ marker พร้อมคำอธิบายสำหรับวันที่เกิดเหตุการณ์เฉพาะ
อย่างไรก็ตาม Vega-Lite ต้องมี การตรวจสอบสเปกและแนวทางที่ชัดเจน และต้องคอยจัดการบั๊กกับพฤติกรรมแปลกๆ อยู่เรื่อยๆ ถ้าต้องการเริ่มต้นเร็วโดยไม่สร้างการทำกราฟให้เป็นทักษะแยกต่างหาก Flint จะเสถียรกว่า
ดูเหมือนกำลังพยายามจัดการแบ็กเอนด์กราฟหลายตัวผ่านอินเทอร์เฟซเดียว แต่ถ้า AI เขียน Flint ได้ ก็ให้มันเขียนโค้ดแบ็กเอนด์ไปเลยไม่ดีกว่าหรือ เหตุผลที่ต้องทำให้แบ็กเอนด์สลับได้ยังไม่ชัดเจน
แต่ถ้าเป็น API ที่เรียบง่าย สำหรับ LLM ก็มีข้อดีตรงช่วยประหยัดโทเคน
Microsoft/Flint-Chart เคยถูกแนะนำเมื่อวันที่ 2 กรกฎาคม 2026 ด้วย: https://github.com/microsoft/flint-chart, https://news.ycombinator.com/item?id=48756577
วันที่ 8 กรกฎาคมก็ถูกโพสต์อีกครั้งในชื่อ “Show HN: Microsoft releases Flint, a visualization language for AI agents”: https://microsoft.github.io/flint-chart/#/, https://news.ycombinator.com/item?id=48834924
แค่บอกว่า “ช่วยสร้างกราฟ XYZ ด้วย plotly” แล้วมีปัญหาอะไร?
เมื่อ 22 วันก่อนก็มีการถกเถียงในวงที่ใหญ่กว่านี้แล้ว: https://news.ycombinator.com/item?id=48834924
DSL สำหรับ AI ไม่ค่อยสมเหตุสมผลนัก โมเดลถูกฝึกมาด้วยไลบรารีกราฟิกที่มีอยู่แล้ว และจัดการสิ่งเหล่านั้นได้ค่อนข้างดีอยู่แล้ว
ในระยะยาว หลังเปิด Flint แล้ว แล็บต่างๆ อาจสร้าง “benchmark ด้านกราฟิก” เพื่อให้โมเดล overfit กับ DSL นี้ได้ แต่ดูเหมือนต้องใช้แรงมากเกินไป
ไม่รู้เหมือนกันว่าระดับไหนถึงเรียกว่า abstraction มากเกินไป Plotly หรือ Plotly Express ยังไม่พอหรือ และ สเปก JSON อีกอันหนึ่งจะเปิดยุคใหม่ได้อย่างไรก็น่าสงสัย
น่าสนใจ แต่ไม่แน่ใจว่าจำเป็นจริงไหม มีไลบรารีกราฟที่成熟แล้วอยู่มากมาย รวมถึง Apache ECharts สุดท้ายดูเหมือนเป็นการสร้างล้อขึ้นมาใหม่
เครื่องมือใหม่เปิดตัว ฟีเจอร์ถูกเพิ่มเข้ามาเรื่อยๆ แล้วก็มีเครื่องมืออีกตัวที่เลือกดีไซน์และไวยากรณ์ต่างออกไปเล็กน้อยมาแทนที่เครื่องมือเดิม วนซ้ำแบบนี้
อาจใช้ จุดแข็งเฉพาะของแบ็กเอนด์ ได้ เช่น ECharts สำหรับ sunburst แบบลำดับชั้น, Plotly สำหรับเส้นแนวโน้มเชิงสถิติ·วิเคราะห์, หรือ Excel สำหรับกราฟที่แก้ไขในเวิร์กบุ๊กก็ได้ หรือไม่ก็เลือกไลบรารีกราฟที่ชอบสักตัวแล้วเรียนรู้ฟีเจอร์ให้เต็มที่ น่าจะดีกว่าการผสมแต่ preset ของหลายไลบรารีโดยไม่ปรับแต่งรายละเอียด