Reflex mã nguồn mở XY: Thư viện vẽ biểu đồ Python nền tảng Rust giữ tương tác với biểu đồ 100 triệu điểm
Reflex AI đã phát hành XY, một thư viện vẽ biểu đồ Python theo giấy phép Apache-2.0 cho trực quan hóa 2D tương tác. Thư viện sử dụng lõi Rust gốc và WebGL2 để giữ biểu đồ phản hồi ngay cả với 100 triệu điểm, đạt thời gian render khoảng 0,08 giây. Thư viện có sẵn qua lệnh pip install xy và yêu cầu Python 3.11 trở lên.
Reflex AI đã mã nguồn mở XY, một thư viện biểu đồ Python được cấp phép Apache-2.0 dành cho trực quan hóa 2D tương tác. Thư viện này giải quyết vấn đề suy giảm hiệu suất của các bộ công cụ biểu đồ Python truyền thống, vốn tạo một đối tượng có thể vẽ cho mỗi hàng và chậm dần sau vài trăm nghìn điểm. XY chuyển công việc kết xuất vào lõi Rust gốc, gửi bộ đệm nhị phân có kiểu tới trình duyệt thay vì JSON, và vẽ thông qua WebGL2. Kết quả benchmark cho thấy XY duy trì thời gian kết xuất 0,071 giây ở 10.000 điểm và 0,081 giây ở 100 triệu điểm. Thư viện đang ở giai đoạn alpha sớm (phiên bản 0.0.1) và được cài đặt bằng pip install xy, yêu cầu Python 3.11 trở lên. Thư viện cung cấp khả năng tổ hợp khai báo các mark, trục, chú giải, tooltip và chú thích, đồng thời đi kèm 14 họ biểu đồ bao gồm scatter, line, area, histogram, box, violin, ECDF, heatmap, hexbin và contour. Thư viện giữ các cột f64 chính xác trong Python ColumnStore, đảm bảo hover, chọn lọc và khoan xuống (drilldown) khi phóng to vẫn trả về các hàng gốc. XY xuất một biểu đồ scatter tương tác với 10 triệu điểm sang HTML 258 KiB, so với 259 MiB của Plotly. Benchmark trên Apple M5 Pro cho thấy XY đạt 0,084 giây cho 1 triệu điểm, 0,083 giây cho 10 triệu, 0,076 giây cho 50 triệu và 0,081 giây cho 100 triệu, trong khi Matplotlib và Plotly thất bại hoặc chậm đáng kể ở số lượng lớn hơn. Reflex cũng báo cáo việc kết xuất toàn bộ tập dữ liệu OpenStreetMap với 10 tỷ điểm. Thư viện bao gồm một đường di chuyển: import xy.pyplot as plt chạy mã pyplot phổ biến của Matplotlib, và một bộ chuyển đổi reflex-xy chuyển đổi biểu đồ thành các thành phần Reflex mà không cần JavaScript hoặc iframe.
Nguồn: MarkTechPost —
bản gốc
