• 締切済み

gnuplot で2本のグラフを一つにまとめる

表示したいデータ X   Y1    Y2 2.000  3.0   -86.10 2.167  15.0   -90.64 2.333  21.0   -87.25 2.500   6.0    -84.04 表示するプログラム #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> char output_file[128]; int main(void){ sprintf(output_file,"./output.txt"); FILE *gp = popen("gnuplot -persist","w"); fprintf(gp, "set terminal png\n"); fprintf(gp, "set xrange [1:3]\n"); fprintf(gp, "set xtics 1,1,3\n"); fprintf(gp, "set mxtics 6\n"); fprintf(gp, "set xlabel 'Hour'\n"); fprintf(gp, "set yrange [0:50]\n"); fprintf(gp, "set ytics 0,5,50\n"); fprintf(gp, "set ylabel 'mm/h'\n"); fprintf(gp, "set y2range [-90:-75]\n"); fprintf(gp, "set y2tics -90,5,-75\n"); fprintf(gp, "set ytics nomirror\n"); fprintf(gp, "set my2tics 5\n"); fprintf(gp, "set y2label 'dbm'\n"); fprintf(gp, "set output './output.png'\n"); fprintf(gp, "set title 'Rain and Attenuation'\n"); fprintf(gp, "plot './output.txt' using 1:2 with lines linetype 1 ,'./output.txt' using 1:3"); } 左横軸は0から50までとなりました。 右横軸はー90からー80までとなりました。 XvsY1の曲線は左横軸に対応して正しく表示されました。 ただし、XvsY2の曲線は表示されませんでした。 解決法を教えてください。

みんなの回答

回答No.3

>2本のグラフを一つにまとめる 分布図の方がよくないですか。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

マニュアルには、日本語訳版もあります。 http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html http://takeno.iee.niit.ac.jp/~foo/gp-jman/data/20140925/gnuplot-ja-div/node127.html http://takeno.iee.niit.ac.jp/~foo/gp-jman/data/20140925/gnuplot-ja-div/node128.html この程度の内容なら、テキストファイルにgnuplotのスクリプト書いて gnuplot スクリプト名 で実行するようにすれば、いちいちC言語のコンパイル→実行をしなくても、確認ができます。 最後まで確認したら、またC言語に戻せばいいです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

gnuplot のマニュアルを読む.

関連するQ&A

専門家に質問してみよう