- ベストアンサー
C言語でグラフ作成??
C言語でグラフ作成(2次元) ↓ グラフをJPEGなどの画像データで出力 以上のことを行いたいと思っています。 簡単にできる方法をご存知の方がいましたら教えていただけないでしょうか? また参考サイトやわかりやすい本などがあれば教えていただけないでしょうか? よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
グラフを書く、といっても 1) 数値上での座標を求める 2) 1)を画面上(画像上)の座標に変換する 3) 2)を使って、線や点や他の図形を書く 4) 3)を画面に表示したり、ファイルに保存したりする ざっと見てもこれくらいの処理があって、元の質問だと、これを全部Cでやりたい、と読めます。 で、Cでやろうとすると、純粋な演算だけの1),2)はともかく、3)や4)には「標準」の方法はありません。WindowsだったらWin32 APIで可能だが、Linuxでは使えない、等の「環境依存」の度合いが大きくなりますから。 これが、Gnuplotを使うとなると、Cでやる必要があるのは1)だけです。2以降はGnuplotの仕事になります。 Cのプログラムは 1)の座標(と、グラフ表示のためのいくつかの設定)をprintfで出力するだけの単純なものになります。どんな内容を出力するか、は、CではなくてGnuplotのマニュアルを参考に決めます。繰り返しになりますが、Cではそれをprintf(他の関数でもいいですが)するだけです。 そもそも、Cでやるべきものなのかも疑問です。データによっては、Gnuplotだけで済みます。
その他の回答 (4)
- jacta
- ベストアンサー率26% (845/3158)
> いえ、gunplotを使ってグラフを書こうと考えています。 それを先に書かないと... gnuplotを使うことが決まっているのであれば、そのドキュメントを読んでください。
お礼
すみません。ありがとうございます。
- Tacosan
- ベストアンサー率23% (3656/15482)
ごめん, 「C言語でグラフ作成」と「gunplotを使ってグラフを書こうと考えています」の関係がまったくわからん. 「gnuplot を使ってグラフを描く」のが, なんで「C言語」と関係するんだ?
お礼
すみません。知識不足でした。
- jacta
- ベストアンサー率26% (845/3158)
> これを折れ線グラフにしたいと思っています。 では、Bresenhamのアルゴリズムで調べてみてください。 というか、本当にスクラッチで実装したいのでしょうか?
お礼
すみません。ありがとうございます。
補足
いえ、gunplotを使ってグラフを書こうと考えています。
- jacta
- ベストアンサー率26% (845/3158)
処理系不明の状況では、スクラッチで実装するしかありません。 JPEGだと大変ですので、まずはBMPから始めたほうがよいでしょうね。 あとはどんなグラフかによります。 棒グラフとかだと簡単ですが、文字を描画するのが一番大変かもしれません。 まあ、数字だけならフォントを自作してもしれていますが...。
お礼
すみません。ありがとうございます。
補足
さっそくのご回答ありがとうございます。処理するデータはCSV形式の2列データです。行数は30行程度です。 これを折れ線グラフにしたいと思っています。 アドバイズいただけないでしょうか?
お礼
すみません。ありがとうございます。