Squid
PDF でグラフをプロットするためのオープン ソース Ruby ライブラリ
無料の Ruby API を使用すると、ソフトウェア開発者はわずか数行の Ruby コードで PDF ファイルにグラフを描画できます。折れ線、点など、さまざまな種類のグラフをサポートしています。
Squid はオープン ソースの Ruby ライブラリであり、開発者がわずか数行の Ruby コードで PDF ファイルにグラフを描画する独自のアプリケーションを作成できるようにすることで、開発者の仕事を容易にします。このライブラリは非常に使いやすく、チャートを作成するためのすべての基本機能を提供します。開発者は、Web サイトのプロット ビューまたは独自の描画、シリーズの名前の追加、カテゴリの名前の挿入、境界線の調整、高さの設定、ラベルの編集などを行うことができます。ライブラリは、折れ線、点など、さまざまな種類のチャートをサポートしています。
Squid ライブラリを使用すると、開発者は Prawn 提供メソッドを拡張して PDF ファイルにグラフを簡単に描画できます。 Prawn は、PDF ドキュメントの生成と管理をサポートする非常に便利な Ruby ライブラリでもありますが、グラフを描画するための高レベルのコンポーネントが欠けています。 Squid は、開発者が PDF ページ内にグラフをプロットするために使用できる単一のメソッドを Prawn ライブラリの Document クラスに追加するだけです。各キー/値が系列を表すハッシュとしてプロットすることにより、データを追加できます。このライブラリはオープン ソースであり、MIT ライセンスとして公開されています。
Squid 入門
Squid ライブラリを簡単にダウンロードして使用できます。推奨されるインストール方法は、Rubygem を使用することです。次のコマンドを使用してください。
RubyGems 経由で Squid をインストールする
gem install squid
Ruby を使用して PDF でグラフを作成する
オープン ソースの Ruby ライブラリである Squid を使用すると、ソフトウェア開発者は、数行の Ruby コードを使用して PDF ドキュメント内にグラフを作成できます。このライブラリを使用すると、<code>chart</code> を使用して、PDF でグラフィックスを簡単に生成できます。方法。シリーズのデータを含むハッシュを簡単に提供し、ワンライナー コードを使用してプロットできます。軸の値の形式を簡単に識別し、グラフのラベルを追加できます。
Ruby 経由でチャート付きの PDF ファイルを生成する
require 'squid'
Prawn::Document.generate 'web traffic.pdf' do
chart views: {2013 => 182, 2014 => 46, 2015 => 134}
end
その他のグラフィック プロット機能
Plotter クラスは Prawn::Document オブジェクトをラップして、グラフ要素をプロットするための新しい便利なメソッドを提供します。 Squid ライブラリには、Ruby アプリケーション内でグラフィックスと画像を処理するための非常に便利な一連の機能が含まれています。ライブラリは、チャートの周囲に境界線を追加する、グラフの下部にベースラインをプロットする、指定された高さの境界ボックスを描画する、軸の値の形式を設定する、チャートの高さをカスタマイズする、チャートに値ラベルを書き込むなどの機能をサポートしています、右上隅に凡例を追加し、背景色を追加し、水平線を描画します。
Ruby 経由で Squid を使用して基本的なグラフを作成する
# By default, chart
plots every category on the baseline.
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
data = {views: {'Jan 1' => 12, 'Jan 2' => 13, 'Jan 3' => 21, 'Jan 4' => 42,
'Jan 5' => 32, 'Jan 6' => 45, 'Jan 7' => 62, 'Jan 8' => 22, 'Jan 9' => 31,
'Jan 10' => 11, 'Jan 11' => 40, 'Jan 12' => 6, 'Jan 13' => 9}}
chart data, every: 3
end
Ruby で折れ線グラフを作成する
# You can use the :type
option to plot a line chart instead.
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
data = {views: {'Jan 1' => 12, 'Jan 2' => 13, 'Jan 3' => 21, 'Jan 4' => 42,
'Jan 5' => 32, 'Jan 6' => 45, 'Jan 7' => 62, 'Jan 8' => 22, 'Jan 9' => 31,
'Jan 10' => 11, 'Jan 11' => 40, 'Jan 12' => 6, 'Jan 13' => 9}}
chart data, every: 3
end