2016-12-25 13 views
2

私がやっていることは、原子を分子に散布することです。上記のように定義されたパレットを持つさまざまな要素の異なる色ですが、分子内にこれらの要素の1つがない場合、Gnuplotは色の全体を再スケールし、その分子はうんざりのように見えます。GnuPlotの絶対パレット

私はプロットするすべての分子について、cbrangeまたはpaletteを再定義することなく、1色、2色、3色などを釘付けできる方法はありますか?つまり、これらの整数のいずれかがプロット内に存在するかどうかです。

+0

"上記のように定義されたパレット"どこで!?パレット定義とプロットコマンドを表示してください! – Karl

答えて

0

maxcolorsを異なる原子の数に設定します。 set palette definedで色を指定します。 cbrangeを設定して再スケーリングを避けてください。

次のスクリプトは、6に原子タイプ1の色を有するが、データが正しく表示される4のみ原子タイプ1が含ま:

set palette maxcolors 6 
set palette defined (1 "#ff0000", 2 "#00ff00", 3 "#0000ff", \ 
        4 "#ffff00", 5 "#00ffff", 6 "#ff00ff") 
set cbrange [0.5:6.5] 


set xrange [0:5] 
set yrange [0:2] 

plot "-" notitle ls 5 ps 3 lc palette   
1 1 1 
2 1 2 
3 1 3 
4 1 4 

colors set independent from data range

カラーボックスをunset colorboxで除去することができます。

0

使用linecolor variableは、線種などのデータファイルからの値を使用します

set linetype 1 lc rgb "#ff0000" 
set linetype 2 lc rgb "#00ff00" 
set linetype 3 lc rgb "#0000ff" 

$data << EOD 
1 3 1 
2 2 2 
3 1 3 
EOD 
plot $data using 1:2:3 linecolor variable 
0

設定maxcolorsはトリックをしました。私がコードを投稿するのを忘れた時でも、見てくれてありがとう!

+1

コメントをコメントとして追加しないでください。しかし、代わりに正解を受け入れてください(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 –