2013-12-21 11 views
5

私は5つの項目で構成され、私のデータから散布図を作るためにgnuplotのを使用しています:Gnuplotで `#aabbcc`という形式のデータ列で宣言された色でポイントを色づけるには?

index, name, x value, y value, color (#12e335) 

色は、各エントリのために異なっています。私のデータポイント(x、y)の色をデータに表示される色にする方法はありますか?

カラー(#aabb12)の場合はこの形式か、gnuplot固有の形式に変更する必要がありますか?後で円グラフ(gnuplotではなく)に同じ色を使用するので、点の色はデータで指定された色と同じであることが非常に重要です。

ご協力いただければ幸いです。

+0

簡略フォーマット:http://stackoverflow.com/questions/3939200/lineplot-in-gnuplot-where-line-color-is-a-third-column-in-my-data-file –

答えて

8

私は良い見た目の後、答えを自分で見つけました。

この行は、右リセットの下で、ファイルの先頭にあるべきか、どこかの周り

rgb(r,g,b) = int(r)*65536 + int(g)*256 + int(b) 

そして、これがそう基本的にあなたのプロットコマンド

plot "output.txt" using 4:5:(rgb($9,$10,$11)) \ 
     with points pt 7 ps 2 lc rgb variable notitle 

では、新しい変数が作ります赤、緑、青の3つの変数を持つrgb。 私の問題では、自分の色を記述したデータファイルに3列を追加する必要がありました。 私の色が#5535cf(無作為に色を計算する)であれば、rgbの値は(85,53,207) です。次に、output.txtのデータファイルに85,53、および207の3つの列を追加します。

これらの数字は、出力ファイルの9,10,11列目にあります。これは$ 9 $ 10と$ 11を説明しています。 rgとbの値の列番号が必要です。

lc rgb変数notitleをplotコマンドに追加すると、ポイントはデータファイルで割り当てられた色になります。

これは多くの人に役立つことを願っています!

関連する問題