時系列データを可視化する方法は?

時系列データを可視化する方法は?

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よりも優れています。理由は次のとおりです。

  1. これは完全なプログラミング環境です。CおよびFortranと互換性のある拡張API。コンピュータが何かをすることができる場合は、Rを使用して行うことができます。

  2. よくある質問に多くの方が回答をいただきました。ドゥルミ:包括的なRアーカイブネットワーク。あなたは見つけることができますzooそしてggplot2これに役立つパッケージです。

  3. 持つたくさんの本存在する時系列分析そして存在する一般的な

Rには欲しいものがすべてあります。

  • X11、PNG、または(追加機能)SVG

  • プロットポイントに塗りつぶされた円:パスpch=19またはpch=20パパ()または指す()。他にも、あらかじめ定義された描画ポイント記号がたくさんあり、Unicode認識フォントを使用している場合は、すべてのUnicodeを追加できます。

  • 時間認識チャート:埋め込みチャートに必要なサイズ変更がない場合は、Rのフローティングプリミティブを使用して必要なものをすべて作成できます。

  • スクリプトから呼び出し可能:#!/usr/bin/RscriptRプログラムファイルのshebang行を使用する

  • きれいで便利です。お気に入りのGUIフロントエンドがあり、そうでない場合は、基本的なコマンドベースの環境には、複数の組み込み機能のRソースコードを見ることができるなど、素晴らしい機能がたくさんあります。システムがどのように構成されているかを理解するのに役立ちます。 (はい、ほとんどのRはRで書かれています!)

  • 良いプロット:RがCairo用にビルドされている場合、アンチエイリアシングはデフォルト値、Linuxで最近ビルドされている場合はデフォルト値です。以前のバージョンのRにはAAが組み込まれていない可能性があります。 Rの機能について学ぶのに時間を費やした場合は、次のことを確認してください。

    (画像をクリックすると関連記事をご覧いただけます。)

gnuplot コマンドラインに関しては、GNU readline、BSD libedit をサポートするか、代替のカスタム組み込みコマンドライン編集ソリューションで構築することができます。 (これはp.20によるものです。手動.) あるコンピュータには gnuplot 3.7 があり、もう一方のコンピュータには 4.0 があり、どちらも readline で構築されました。バイナリはこれらなしで構築されましたか?

おすすめ記事