gnuplot : RGBでの色指定で16進数による指定を行う方法(数字の頭に"0x"を付ける)

16進数での色指定

 以前、以下の記事でrgbcolor variableの解説をしました。
このとき、RGBの値を10進数として扱う方法で説明しました。そこでは16進数で表された色(red : FF0000 など)の値を10進数に変換してgnuplotに渡すという方法を取りました。このときは
(※マニュアルを読むと10進数以外の指定方法もあるように読めるのですが、詳細は調べ切れていません)
と書いたのですが、その後調べたところ16進数のままでも値を渡せることが分かりました(16進数以外に8進数でも渡せます)。

16進数数値による色指定

 gnuplotで16進数で数値を書き表す場合は、その数値の先頭に"0x"または"0X"を付けます。例えば、ff0000では0xff0000とします。
 gnuplotで16進数をこのように表すのは、C言語での書き表し方から来ているようです。その他のプログラミング言語でも16進数をこのように表記するものは多いので、理由はともかくそういうものだと考えればいいでしょう。

16進数で色指定するメリット

 16進数で色指定出来ると、カラーピッカーで取得したRGB値をそのまま用いることが可能となります(#ff0000となっている場合#を0xに置き換える)。
 それと数値ではなく文字列"0xff0000"として色を指定する方法もありますが、数値のまま扱えば演算による色の作成も出来るという利点があります。

プロット例

基本的な例

16進数で色を指定する場合の基本は以下のようになります。 
gnuplot> plot x linewidth 10 linecolor rgbcolor 0xff0000



データファイルのプロット

別の例として、以下のデータファイルをプロットしてみます。
1 black 0x000000
2 white 0xffffff
3 red 0xff0000
4 lime 0x00ff00
5 green 0x008000
6 blue 0x0000ff
7 gray 0x808080
8 yellow 0xffff00
9 orange 0xffa500
10 pink 0xffc0cb
11 cyan 0x00ffff
12 purple 0x800080


プロットコマンドは以下の通り(ラベルも一緒に出力してるので、やや長くなっています)。
gnuplot> plot [0:16][0:13] 'color01.dat' u 1:1:3 w p pt 5 ps 3 lc rgb variable, '' u 1:1 w p pt 4 ps 3 lc 'black', '' u 1:1:2 w labels  offset 5,0, '' u 1:1:3 w labels offset 13,0



gnuplot関連のブログ記事

コメント

スポンサーリンク


このブログの人気の投稿

gnuplotでプロットなどの色をcolornameの指定で変更する

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)