質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
gnuplot

gnuplot(ニュープロット)は、2次元や3次元のグラフ作成ができるソフトウェアです。さまざまな数式やデータ集計などのグラフを描写することが可能で、特に2次元グラフを描画する機能は強力です。

Q&A

解決済

1回答

3104閲覧

条件分岐をしてその点の色を指定して描画する方法

langhtorn

総合スコア105

gnuplot

gnuplot(ニュープロット)は、2次元や3次元のグラフ作成ができるソフトウェアです。さまざまな数式やデータ集計などのグラフを描写することが可能で、特に2次元グラフを描画する機能は強力です。

0グッド

0クリップ

投稿2021/12/08 12:38

編集2021/12/08 12:42

gnuplotで点を沢山描画したいと思っています。
そこで条件分岐をして色分けをしようとしているところでつまずいています。
x座標が-1.22478以下であれば青色にそれ以上であれば赤色にというようにしたいです。
どのようにすればよいでしょうか?
result1.txtには100万個の点データ(x,y座標の情報)が入っています。

gnuplot

1gnuplot> set size square 2gnuplot> set xrange[-1:1] 3gnuplot> set yrange[-1:1] 4gnuplot> plot "result1.txt" pt 2 5gnuplot> plot (x<=-1.22478) ? lc 7 6 ^ 7 expecting ':' 8 9gnuplot> plot (x<=-1.22478) ? lc 7 : lc 6 10 ^ 11 expecting ':' 12 13gnuplot>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

lc rgb variable を使います。

sh

1gnuplot> set size square 2gnuplot> set xrange[-2:2] 3gnuplot> set yrange[-2:2] 4 5gnuplot> hex2dec(hex) = gprintf("%0.f", int('0X'.hex)) 6gnuplot> rgb(r, g, b) = 65536*int(r) + 256*int(g) + int(b) 7gnuplot> hex2rgb(c) = rgb(hex2dec(c[2:3]), hex2dec(c[4:5]), hex2dec(c[6:7])) 8 9gnuplot> red = hex2rgb("#FF0000") 10gnuplot> blue = hex2rgb("#0000FF") 11gnuplot> color(x) = x <= -1.22478 ? blue : red 12gnuplot> plot "result1.txt" using 1:2:(color($1)) pt 2 lc rgb variable

plot

投稿2021/12/08 21:45

編集2021/12/08 21:50
melian

総合スコア20655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

langhtorn

2021/12/23 10:58

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問