2016-03-21 25 views
1

私は極座標プロットとして表すしたいという範囲の範囲です。次のように 形式は:gnuplotは:ポーラープロットを示す変数は、私は角度のデータセットを持っている

[Radius]\t[Range 1 lower] [Range 1 upper]\t[Range 2 lower] [Range 2 upper]... 

典型的なデータラインが次のようになります

1.181 0 0 31.8196 38.3883 141.612 148.18 180 180 211.82 218.388 321.612 328.18 

ライン当たり範囲の数が異なることができ、任意の範囲無しラインもあります。プロットの残りの部分は空であるが、理想的には私は、所定の半径で各範囲の下限と上限との間の角度が充填されている極座標プロットで終わるたいです。

範囲は重複しませんが、範囲の一部は下限と上限と同じ角度を持ちます(上記の例では「0 0」の範囲)。計算では、単一のポイントとほとんど可視詳細実験で観察されたものであることが判明...

今の私は、出力は範囲がくれた極座標での点の雲を与えると言わC-プログラムを変更しました、

任意の助けをいただければ幸いです...私はドットでプロットし、それは(かなり)小さいファイルサイズを意味するだろうと私は本当に、塗りつぶし領域で種類-のベクトルプロットを好むだろう、とズームが可能になります事前に感謝、
アンドレアス

+0

あなたは更新を与えることができますか?あなたはgnuplotの解決策を見つけましたか、別のプロットをソフトにしたり、別のデータ出力を使用しましたか? – Joce

+0

あなたの提案をありがとう。私は別のプロジェクトで忙しかったので、私はその時点で「ポイントの雲」ソリューションを保つことに決めました。それでも、私がプロットしたいデータの特殊な性質のために、これまでに戻ってしまえば、あなたの答えはかなり有用になるでしょう。範囲は半径で単調に増えています。これは、(少なくとも)特定の半径数の範囲のリストにポイントオブクラウドを減らすことができることを意味します。とにかく、私が頂点座標を既に持っているので、SVGを直接書くあなたのアイデアもかなり魅力的です。 – soulsource

答えて

0

は純粋のgnuplot 4.4以降のソリューションがありますが、それらは複雑になります。理由の1つは、極座標補間ではなく、線形補間(端点間の直線)を使用して、データファイルの極座標プロットが行われないことです。私はむしろ、データを直接プロットするためにgnuplotコマンドを出力するCプログラムを持っています。

set polar 
set angles degrees 
plot (t<38.3883&t>31.8196)?1.181:1/0 with filledcurves above r=0, \ 
    (t<... 

0レンジのケースをset arrow from 0,0 to r*cos(angle),r*sin(angle)と別々に扱うことをおすすめします。

ファイルが非常に小さくなるかどうかわかりませんが、gnuplotは円の弧に近似するようにポリラインを生成してr=1.181になります。実際の円弧を持つ小さなファイルが必要な場合は、Cコードから直接svgコードを生成することができます。

関連する問題