- 締切済み
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の曲線は表示されませんでした。 解決法を教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ahoo_chieokure
- ベストアンサー率52% (34/65)
- kmee
- ベストアンサー率55% (1857/3366)
マニュアルには、日本語訳版もあります。 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)
gnuplot のマニュアルを読む.