gnuplotの等高線の色:スタイルラインの設定と線種の設定が機能しない



Gnuplot Contour Line Color



解決:

等高線の線のプロパティを変更する方法は次のとおりです。なぜそうなのか説明できませんが、テストしてみたところです。残念ながら、これらの詳細に関するドキュメントはありません。

動作は次のとおりです(4.6.3。および4.7(2013-07-25および2013-09-09)でテスト済み、すべて同じ動作を示します)。



デフォルトの設定

  1. いいえの場合線種が指定されているスプロット、表面自体が使用しますlt 1.その場合、最初の輪郭は次のように描画されます。lt 3.はい、番号付けは指定された増分と比較して逆になっています。しかし、あなたはそれを使用することによってそれを逆転させることができますcntrparamレベルの増分を-6、-6、-18またはcntrparamレベルの増分を設定-18、6、-6

  2. NSすべての等高線の線幅は同じであり、プロットコマンドに使用される線幅。変更するには、たとえば、splot'new_test.dat 'lw3。



結果(太い線なし)は、質問に示されているとおりです。

線種の使用

  1. 輪郭はを使用しますプロットコマンドで使用されるものより1つ高いインデックスを持つ線種。

  2. また、最初の定義も必要ですサーフェスで使用される線種。このスタイルが定義されていない場合、輪郭は使用にフォールバックします線種。



  3. NS線幅は最初から取得されます線種、すべて以下からのlw設定lsは無視されます。

カスタマイズされた線種の使用

  1. 輪郭はを使用しますplottingコマンドで使用されるものより1つ高いインデックスを持つ線種。

  2. 全て線種はカスタマイズする必要があります。これも最初に、サーフェスで使用される線種です。それ以外の場合は、デフォルト設定が使用されます。

  3. lwと同じ線種。

テストには、あなたのデータと次の簡略化されたスクリプトを使用しました。

リセットsetterminalpngcairoサイズ800,800set output '3d-polar.png' set lmargin at screen 0.05 set rmargin at screen 0.85 set bmargin at screen 0.1 set tmargin at screen 0.9 set pm3d map interpolate 20,20#plot the heatmap set cntrparam bspline set cntrparamポイント10セットcntrparamレベル増分-6、-6、-18セット輪郭サーフェスセットパレットrgb 33,13,10セットcbrange [-18:0] unset border unset xtics unset ytics set angledegree r = 3.31 set xrange [- r:r] set yrange [-r:r] set colorbox user origin 0.9,0.1 size 0.03,0.8#次のファイルのいずれかをロードします:#load'linestyle.gp '#load'linetype.gp' splot'new_test.dat ' 題名 ' '

NScbrangeは、-18なので、それに応じて等高線レベルを変更しました(-24はとにかく描かれていませんでした)。

私が使用する2つの「輪郭設定ファイル」は次のとおりです。

linetype.gp:

set linetype 1 lc rgb'blue 'lw 3 set linetype 2 lc rgb'black' set linetype 3 lc rgb'orange 'set linetype 4 lc rgb'yellow'

linestyle.gp:

スタイルインクリメントユーザーを設定

set style line 1 lc rgb'blue 'lw 3 set style line 2 lc rgb'black' set style line 3 lc rgb'orange 'set style line 4 lc rgb'yellow'

どちらも同じ出力画像を提供します。

ここに画像の説明を入力してください

これを完全なスクリプトに使用するには、2つのファイルのいずれかを直前にロードします。splotコマンド。これにより、次の出力が得られます。

ここに画像の説明を入力してください

輪郭についての最初の質問の後、私はバグレポートを提出しようとしていましたが、具体的な質問に要約するのはかなり難しいことがわかりました。この質問でそれはより簡単かもしれません。これを行う時間があれば確認します。


今回は長方形の座標でGNUplotプロットを再度実行しているときに、この質問を再度参照する必要がありましたが、等高線の線種を制御する方法を思い出せないことがわかりました。

上記の情報は今では完全に正しくないことがわかり、GNUplotバージョン5パッチレベル3の時点でこれがどのように機能するかを説明する方法を発見しました。

等高線を制御するために私が見つけたものは3つあります:1。「setcntrparamlevelsincrement」コマンドと2.コマンド「setstyleincrementuser」と3.線スタイルのリスト(私は「setstyle」を使用しました' 指図)

少し注意が必要です。私自身のコードから1つか2つの例を挙げましょう:

#等高線の線の色と幅を制御する方法:#等高線の数とそのレベルは、上記の「setcntrparam」コマンドを使用して制御します。#「setcntrparam」の形式は「start、increment、end」です。行の位置#終了レベルが行のキー/凡例の上部にリストされていることに注意してください! #line style 1は、輪郭線ではなく、他の場所で使用されます#line style 2は、最後の線のスタイル(たとえば、終了、または最後に描画された線)に使用されます。ラインスタイル2への上方#例1:-40、-30、および-20の3行#cntrparamレベルの増分を設定-20、-10、-40#スタイルライン1を設定lw 0.5 lc'grey30 '#スタイルライン2を設定lw 0.5 lc '青'#スタイルライン3を設定lw 0.5 lc '白'#スタイルライン4を設定lw 0.5 lc '赤'#結果:#-20線の色は赤#-30線の色は白#-40線の色は青です##例2:-35、-30、-25、および-20の4本の線#cntrparamレベルの増分を設定-20、-5、-35#スタイル線1を設定lw 0.5 lc'grey30 '#設定スタイルライン2lw 0.5 lc '青'#スタイルライン3を設定lw 0.5 lc '白'#スタイルライン4を設定lw 0.5 lc '赤'#スタイルライン5を設定lw 0.5 lc '黄色'#結果は次のようになります:#-20線の色は黄色#-25線の色は赤#-30線の色は白#-35線の色は青

他の人がこれが有用で有益であるとわかることを願っています。 GNUplotは進化するツールであり、彼はそれについて詳細に知っているので、おそらくクリストフ(彼がこのスレッドを読んだ場合)はコメントすることができます。