数値テキストからASCIIグラフやスパークラインなどを生成するCLI。
- スター
- 400
- フォーク
- 25
- 未解決の Issue
- 1
- 最終コミット
- 4 日前
これは何?
charts-rsは、チャートをSVGとして生成し、PNG、JPEG、WebP、AVIF画像としても出力できるRust用のチャートライブラリです。Apache EChartsを参考にした同じオプションを使い、型付きのRust APIまたはJSONドキュメントからチャートを作成できます。ヘッドレスブラウザーやNode.jsが不要なため、レポート、メール、ボット、ダッシュボード向けのサーバーサイドレンダリングを想定しています。
棒、折れ線、円、レーダー、ローソク足、ヒートマップ、サンキー、ガント、ツリーマップ、マップなど、29種類のチャートに対応しています。MultiChartを使えば、複数のチャートを1つのキャンバスに配置できます。系列は積み上げ表示、2つのy軸を使った混合表示が可能で、滑らかな線、面、エラーバーも描画できます。軸はカテゴリ、数値、時間、対数スケールに対応しています。
スタイル設定には10種類の組み込みテーマ、CJK対応のカスタムフォント(TTF、OTF、TTC)、凡例、ツールチップ、SVGアニメーションがあります。画像出力は、png、jpeg、webp、avifなどのCargo feature flagsで有効にできます。
主な機能
- 01棒や折れ線からローソク足、サンキー、マップまで、29種類のチャートを描画できます。
- 02型付きのRust APIまたはJSONドキュメントからチャートを作成できます。
- 03SVGに加え、feature flagsを使ってPNG、JPEG、WebP、AVIF画像を出力できます。
- 0410種類の組み込みテーマを備え、CJKを含むカスタムフォントに対応しています。
- 05MultiChartを使って複数のチャートを1つのキャンバスにまとめられます。
ユースケース
- サーバー上で定期レポートやPDF出力向けのチャート画像を生成する。
- ブラウザーを使わずに、メールやチャットボットのメッセージにチャートを添付する。
- RustバックエンドAPIのレスポンスでダッシュボード用チャートを描画する。
- アプリケーションデータとともに保存されたJSON設定からチャートを生成する。
クイックスタート
- 1
Cargo.toml にクレートを追加します
[dependencies] charts-rs = "2" - 2
Rust でチャートを作成し、SVG にレンダリングします
let svg = chart.svg().unwrap(); - 3
PNG 出力を使うには、png feature を有効にします
charts-rs = { version = "2", features = ["png"] }
使う前に知っておきたいこと
- Rust 1.88 以降(edition 2024)が必要です。
トピック
よくある質問
- charts-rs とは?
- ブラウザー不要で29種類のチャートをSVGやPNG/JPEG/WebP/AVIFに出力できるRust製ライブラリ。 charts-rsは、チャートをSVGとして生成し、PNG、JPEG、WebP、AVIF画像としても出力できるRust用のチャートライブラリです。Apache EChartsを参考にした同じオプションを使い、型付きのRust APIまたはJSONドキュメントからチャートを作成できます。ヘッドレスブラウザーやNode.jsが不要なため、レポート、メール、ボット、ダッシュボード向けのサーバーサイドレンダリングを想定しています。
- charts-rs は無料で使えますか?ライセンスは?
- charts-rs は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- charts-rs は今もメンテナンスされていますか?
- 活発にメンテナンス中。charts-rs の最終コミットは 2026年10月17日 です。
- charts-rs は何に使えますか?
- サーバー上で定期レポートやPDF出力向けのチャート画像を生成する。 ブラウザーを使わずに、メールやチャットボットのメッセージにチャートを添付する。 RustバックエンドAPIのレスポンスでダッシュボード用チャートを描画する。 アプリケーションデータとともに保存されたJSON設定からチャートを生成する。
- charts-rs のインストール方法は?
- Cargo.toml にクレートを追加します: [dependencies] charts-rs = "2" Rust でチャートを作成し、SVG にレンダリングします: let svg = chart.svg().unwrap(); PNG 出力を使うには、png feature を有効にします: charts-rs = { version = "2", features = ["png"] }
- charts-rs はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/vicanso/charts-rs
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
JPGやPNGなどのラスター画像をコンパクトなSVGベクター画像に変換するオープンソースのRustツール。CLI、デスクトップアプリ、ライブラリとして利用できます。
テキスト構文からSVGのインフォグラフィックを生成・描画する、AI生成とストリーミング出力向けの宣言型エンジン。
AIエージェントがコンパクトなチャート仕様から、Vega-Lite、ECharts、Chart.js、Plotly、Excel向けの洗練されたチャートを生成できる可視化中間言語。
データベースやAPIに接続し、共有・埋め込み可能なライブダッシュボードやグラフを作成できるオープンソースのWebアプリ。
実行時依存なしでMermaidの図表テキストをSVGに変換する、小型の同期レンダラー。