2Dプロットで視覚化したい時系列データがあります。
入力はISO日付形式で、値はスペースで区切られ、1行に1つのレコードがあります。
2010-10-21 23
2010-10-22 32
etc.
出力は素晴らしい2Dプロットでなければなりません。基本要件:
- X11ウィンドウ(プレビュー)とpngファイルとして出力
- x軸は必ず理解する日付を指定し、データサイズを自然に調整します。たとえば、3日間の間隔は1日間の間隔の3倍でなければなりません。
- スクリプトから呼び出し可能でなければなりません。
- 出力効果が良く使いやすいです。
ボーナス:
- svg出力
試してみましたが、うまくgnuplot
いきます。いくつかの日付サポートがあります。
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> plot "test.dat" using 1:2
しかし、gnuplotにはいくつかの問題があります。
- デフォルト設定では、プロットは非常に見苦しくなります。
- マニュアルで内容を見つけるのは難しいです。たとえば、ドットを描くときにデフォルトの「+」記号の代わりに塗りつぶされた小さな円をどのように使用しますか?
- gnuplotシェルは本当に面倒な病気です。 readlineを使用せず、破損しており、コマンドの完成が冗談で、viショートカットを有効にする方法がわかりません。またはサポートされている場合は逆検索などはいかがですか?
だから私の質問は:時系列データを可視化するための代替案は何ですか?
それともgnuplotの問題を誇張していますか?
答え1
右この種のタスクでは、Gnuplotよりも優れています。理由は次のとおりです。
これは完全なプログラミング環境です。CおよびFortranと互換性のある拡張API。コンピュータが何かをすることができる場合は、Rを使用して行うことができます。
よくある質問に多くの方が回答をいただきました。ドゥルミ:包括的なRアーカイブネットワーク。あなたは見つけることができます
zoo
そしてggplot2
これに役立つパッケージです。
Rには欲しいものがすべてあります。
X11、PNG、または(追加機能)SVG
プロットポイントに塗りつぶされた円:パス
pch=19
またはpch=20
パパ()または指す()。他にも、あらかじめ定義された描画ポイント記号がたくさんあり、Unicode認識フォントを使用している場合は、すべてのUnicodeを追加できます。時間認識チャート:埋め込みチャートに必要なサイズ変更がない場合は、Rのフローティングプリミティブを使用して必要なものをすべて作成できます。
スクリプトから呼び出し可能:
#!/usr/bin/Rscript
Rプログラムファイルのshebang行を使用するきれいで便利です。お気に入りのGUIフロントエンドがあり、そうでない場合は、基本的なコマンドベースの環境には、複数の組み込み機能のRソースコードを見ることができるなど、素晴らしい機能がたくさんあります。システムがどのように構成されているかを理解するのに役立ちます。 (はい、ほとんどのRはRで書かれています!)
良いプロット:RがCairo用にビルドされている場合、アンチエイリアシングはデフォルト値、Linuxで最近ビルドされている場合はデフォルト値です。以前のバージョンのRにはAAが組み込まれていない可能性があります。 Rの機能について学ぶのに時間を費やした場合は、次のことを確認してください。
(画像をクリックすると関連記事をご覧いただけます。)
gnuplot コマンドラインに関しては、GNU readline、BSD libedit をサポートするか、代替のカスタム組み込みコマンドライン編集ソリューションで構築することができます。 (これはp.20によるものです。手動.) あるコンピュータには gnuplot 3.7 があり、もう一方のコンピュータには 4.0 があり、どちらも readline で構築されました。バイナリはこれらなしで構築されましたか?
答え2
RRDツール存在の全体的な目的は、時系列データをグラフ化することですが、主に自動グラフ化に使用され、お客様のニーズに最も適していない可能性があります。
その意味は:
- PNGやSVG形式で出力できますが、プレビュー機能はありません。
- 時間調整機能が内蔵されています。
- 簡単なスクリプト(複数のスクリプト言語用のコマンドラインアクセスまたはライブラリ)
- 出力がかなり良く見えるようにすることができます。