gnuplotの等高線の色:スタイルラインの設定と線種の設定が機能しない
Gnuplot Contour Line Color
解決:
等高線の線のプロパティを変更する方法は次のとおりです。なぜそうなのか説明できませんが、テストしてみたところです。残念ながら、これらの詳細に関するドキュメントはありません。
動作は次のとおりです(4.6.3。および4.7(2013-07-25および2013-09-09)でテスト済み、すべて同じ動作を示します)。
デフォルトの設定
いいえの場合
線種が指定されている
スプロット、表面自体が使用します
lt 1.その場合、最初の輪郭は次のように描画されます。
lt 3.はい、番号付けは指定された増分と比較して逆になっています。しかし、あなたはそれを使用することによってそれを逆転させることができます
cntrparamレベルの増分を-6、-6、-18または
cntrparamレベルの増分を設定-18、6、-6
NS
すべての等高線の線幅は同じであり、
プロットコマンドに使用される線幅。変更するには、たとえば、
splot'new_test.dat 'lw3。
結果(太い線なし)は、質問に示されているとおりです。
線種の使用
輪郭はを使用します
プロットコマンドで使用されるものより1つ高いインデックスを持つ線種。
また、最初の定義も必要です
サーフェスで使用される線種。このスタイルが定義されていない場合、輪郭は使用にフォールバックします
線種。
NS
線幅は最初から取得されます
線種、すべて
以下からのlw設定
lsは無視されます。
カスタマイズされた線種の使用
輪郭はを使用します
plottingコマンドで使用されるものより1つ高いインデックスを持つ線種。
全て
線種はカスタマイズする必要があります。これも最初に、サーフェスで使用される線種です。それ以外の場合は、デフォルト設定が使用されます。
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は進化するツールであり、彼はそれについて詳細に知っているので、おそらくクリストフ(彼がこのスレッドを読んだ場合)はコメントすることができます。