gnuplotの凡例でA&Bを表示する方法

このQ&Aのポイント
  • gnuplotの凡例でA&Bを表示する方法について教えてください。
  • gnuplotの凡例で&を使ってA&Bを表示しようとしていますが、うまく表示されません。代わりに空白が表示されます。
  • &を使って凡例にA&Bを表示する方法を教えてください。
回答を見る
  • ベストアンサー

gnuplotの凡例

gnuplot versin4.6 を使っています。OSはWindowsです。 --------------------------------------- set key 100,100 plot "xyz.dat" using 1:2 title "A&B" with lines lt 3 lw 5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ のように、凡例に"A&B"と表示したいのですが、&が出力できずに、替わりに空白として出力されます。"and"と書く手もありますが、やっぱりカッコ悪いから、最後の手段と考えています。 色々調べてみましたが、見つかりません。提出前なので結構焦ってます。よろしくお願いします。

  • hugy
  • お礼率82% (163/197)

質問者が選んだベストアンサー

  • ベストアンサー
  • KENZOU
  • ベストアンサー率54% (241/444)
回答No.1

>gnuplot versin4.6 を使っています えっVer4.6がでましたか(メモメモ)、、、私のはVer4ですが、 >&が出力できずに、替わりに空白として出力されます。 ことが確認できませんでした。ちゃんとA&Bと出力されています。set key での位置座標がおかしいということはないですよね。

hugy
質問者

お礼

早速の回答ありがとうございます。m(_ _*)m 位置はおかしくないです。

hugy
質問者

補足

間違えました、GSViewのversionでした。(恥) gnuplot でコマンドを一つ一つではなく、*.pltファイルにして、使うとき実行しています。 ----------------------------------------- set term postscript eps enhanced color 20 set out "ppp.eps" set size square ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ってな感じで、plotしています。試しに"a$b"で描いてみたら問題なくできました。"&"だけが出てきません。ちなみに全角の&でもダメでした。

関連するQ&A

  • gnuplotデータを編集してプロット

    gnuplotでデータを編集してプロットしようと思い、 set datafile separator "," plot 'test.csv' using 1:($4*2) with lines と打ちました。 これを、gnuplotに直接打つとうまくいくのですが、これをtest.pltというファイルに保存して、 call 'test.plt' と、実行すると、 gnuplot> call 'test.plt' gnuplot> plot 'PIDtorque.csv' using 1:(*2) with lines                     ^ "test.plt", line 2: invalid expression と、表示されます。 これは何故なのでしょうか? 宜しくお願いします。

  • gnuplotで太い点を表示させたい!

    gnuplotで、pointsの表示の時に、うつ点を大きく表示させたいです。 linesの時は、 plot "xx" u 1 w l lw 3 というように、lw 3 で太くすることができます。 gnuplot上では、点のときも、同じやり方で太くできるのですが、 そのファイルをpngファイルに保存すると、 ラインは太くなるのに、点はもとの太さにしかなりません。 至急に困っているので、 どなたか助けてください!! よろしくお願いいたします。

  • Gnuplotについて エラーメッセージ

    Gnuplotの使い方を覚えたくて勉強しています。 オプションを指定した上でプロットしようと、以下のように入力したところ、 plot [-5:5] f(x) axes x1y1 title "fx" with lines, a=1.0, b=0.16, f(x)=a*sin(x)+b*sin(3*x) 以下のようなエラーメッセージが表示されました。 function to plot expected プロットの文法が間違っていたのでしょうか。 このメッセージの意味するところがわかりません。 また、このようなエラーメッセージに遭遇した際に どのように対処すべきか、書かれたサイトなどが ありましたらお教えください。 (わたしが探した限りではみつかりませんでした) よろしくおねがいいたします。

  • Maximaとgnuplotについて

    Maximaの計算結果をgnuplotでグラフ表示する場合に、 [plot format,gnuplot]をつけ、 ホーム・ディレクトリに maxout.gnuplot というファイルが生成されて、 gnuplot上で  load 'maxout.gnuplot' with lines などと入力しグラフ表示しても expecting end of line というエラーが出てきてグラフ表示されません。 maxout.gnuplot というファイルはMaximaのどのフォルダに出来なくてはいけないのでしょうか? 実際には、c:\Users\自分の名前 のフォルダにファイルが出来てしまいます。 ファイルの置き場所が適切ではないからグラフ表示しないのでしょうか? もしそうでしたら、どこに置けばいいんでしょうか? あとgnuplotを別途、Maximaとは別にダウンロードしたんですが、 Maximaのbinフォルダにもwgnuplotがあるんですね。 wgnuplotはgnuplotと同じと考えていいんですかね? 同じならgnuplotをダウンロードしなくてもよかったかな。。。

  • gnuplotをC言語で操作する方法

    C言語を用いてgnuplotを操作しデータファイルから自動的にグラフを作成するプログラムを作ろうとしています。 使用環境はWindows7、VisualStudio2010です。 ほとんどの部分はうまくいったのですが一部分が正しく表示されません。 軸の目盛ラベルの表示フォーマット設定のコマンドで set format x "%.1f" として小数点以下一桁を強制的に表示させるためC言語でパイプを用いて #define GNUPLOT_PATH "C:/gnuplot/binary/pgnuplot.exe" int plot(char *file_name){ FILE *gp; gp = _popen(GNUPLOT_PATH, "w"); fprintf(gp, "set title 'TEST PLOT'\n"); : (中略) : fprintf(gp, "set format x '%.1f' \n");//この部分が正しく反映されません。 : (中略) : fprintf(gp, "plot '%s' using 1:2 with linespoints lt 4 lw 5 pt 6 ps 2.0 lc rgb 'red'\n",file_name); fprintf(gp,"quit \n"); fflush(gp); _pclose(gp); return 0; } '%.2f' の部分をいろいろいじってみたのですがうまくいかず、なぜできないのか原因がわかりません。 fprintf()の数値代入の %f と混ざってしまっているのでしょうか?

  • gnuplotのplot with vector

    この前に  2次元のベクトルを表示したいです。 昔のgnuplot は plot "data.dat" with vector linecolor palette でベクトルの大きさに対応する矢印の色が変化しました。 しかし、新しいgnuplot で実行すると Error : 2D plots cannot color by Z value; please use splot instead が出ました。 そうすればいいでしょうか? 以下のリングを参考してもできなかったので http://www.gnuplotting.org/tag/palette/

  • gnuplotで複数csvファイルからデータ取得

    http://t16web.lanl.gov/Kawano/gnuplot/datafile3.html を読んだところ、複数のファイルから読み込む場合は、UNIXのコマンドを使えばいいらしいことはわかったのですが、 #a1.csv 1.0,2.0 2.0,4.0 3.0,6.0 #a2.csv 1.0,1.0 2.0,4.0 3.0,9.0 というファイルに対し、とりあえずpasteを利用して複数行呼び出しを行おうとしたのですが、 gnuplot> set datafile separator "," gnuplot> plot "<paste -d',' a1.csv a2.csv" using 1:2 warning: Skipping unreadable file "<paste -d',' a1.csv a2.csv" No data in plot と表示されてしまいました。 一体どのようにすれば、複数のcsvファイルを結合したものを読み込めるのでしょうか? また、Cygwin上でpasteコマンドについてちょっと実験してみたのですが、 $paste -d"," a1.csv a2.csv >output.txt とすると、 #output.txt 1.0,2.0 ,1.0,1.0 2.0,4.0 ,2.0,4.0 3.0,6.0 ,3.0,9.0 と表示されるのですが、 $paste -d"," a1.csv a2.csv とすると、Cygwin上には、 ,1.0,1.0 ,2.0,4.0 ,3.0,9.0 と表示されます。 output.txtに出力した際は、メモ帳上では、結合している部位で改行されているようには見えないのですが、ブラウザにコピペしたところ改行されてしましました。 どうやら、結合した場所に\rが入っているくさいです。 このpasteを使う方法以外にもgnuplotで扱うのにもっといい方法があるという場合はその方法も教えていただけると幸いです。 よろしくお願いします。

  • Excel 2008 のグラフの凡例のつけ方

    Excel 2008 を使用しています。 いま、図に示すように折れ線グラフを描きました。 ここで次の2点について質問なのですが、 ・ 赤枠に示すように、凡例に書きたい項目をセルからコピーして、一括して項目を変更できないのでしょうか? この場合、[系列1~4]を[A,B,C,D]に変える。 ・ 青枠に示すように、プロットした各線の横に系列番号をふりたいのですが、Excel 2003 では、データをダブルクリックするとデータラベルのタブ内の凡例名を付属させる箇所にチェックをいれると表示できるのですが、Excel 2008ではどうしたらできるのでしょうか? 調べても分かりませんでした。 また、これについても一括して番号をふることはできないでしょうか? ご回答よろしくお願いします。

  • gnuplotでreplotできない??

    下記のプログラムを書きました。 下記のプログラムでは1枚のグラフの複数のグラフをどんどん重ね、さらに1つのemfファイルとして出力し保存しようとしています。 しかし、問題が発生しました。 プログラム中のfprintf(gp, "replot (x+1)*x*(x-1)\n");を消すとプログラムは動くのですがreplotがあるとうまく画像ファイルが保存されません。 emfファイルはできている(ファイル容量は0ではない。)のですが、emfファイルが壊れており見ることができません。 その理由がわかる方がいましたら、教えていただけないでしょうか? よろしくお願いします。 以下、書いたプログラムです。 #include <stdio.h> #include <windows.h> #include <tchar.h> #include <string> #include<conio.h> using namespace std; #define GNUPLOT_PATH "C:/gnuplot/gnuplot/binary/gnuplot.exe" //char *a[10]; char a[10][50]; long n; long l; int main() { FILE *gp; gp = _popen(GNUPLOT_PATH, "w"); if (gp == NULL) { fprintf(stderr, "Oops, I can't find %s.", GNUPLOT_PATH); exit(EXIT_FAILURE); } // gnuplotにコマンドを送る fprintf(gp, "set terminal emf color 'Ryumin-Light-EUC-H' 16\n"); fprintf(gp, "set output '%s.emf'\n", a[n]); fprintf(gp, "set title '日本語-入力テスト'\n"); //x軸の範囲の設定 //fprintf(gp, "set xrange [-60:60]\n"); //fprintf(gp, "set yrange [0:3]\n"); fprintf(gp, "set grid\n"); fprintf(gp, "set datafile separator ','\n"); fprintf(gp, "set datafile separator ','\n"); fprintf(gp, "set key bottom outside\n"); fprintf(gp, "plot sin(x)\n");     fprintf(gp, "replot (x+1)*x*(x-1)\n"); fflush(gp); // バッファに格納されているデータを吐き出す(必須) //getchar(); // 入力待ち _pclose(gp); exit(EXIT_SUCCESS); return 0; }

  • Octaveのデータを保存し、gnuplotで表示

    現在、Octaveの計算結果の数値を保存しgnuplotでグラフ表示させたいと考えています。 ですが、for文を利用した際に最後のループの数値しか保存されません。 すべての数値を保存したいのですがどのようにすればよいかご意見をいただけないでしょうか。(mファイルで実行しています) また、保存したデータをグラフ化する際のgnuplotのコマンドを教えて頂けないでしょうか。 よろしくお願いします。 【参考プログラム】 for a=-2:1:2 for b=-2:1:2 printf("x(1)=%f x(2)=%f \n",a,b); printf("\n"); endfor endfor save nn.dat a b

専門家に質問してみよう