プロが教えるわが家の防犯対策術!

C言語でグラフ作成(2次元)

グラフをJPEGなどの画像データで出力

以上のことを行いたいと思っています。
簡単にできる方法をご存知の方がいましたら教えていただけないでしょうか?
また参考サイトやわかりやすい本などがあれば教えていただけないでしょうか?

よろしくお願いいたします。

A 回答 (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だけで済みます。
    • good
    • 1
この回答へのお礼

すみません。ありがとうございます。

お礼日時:2011/04/23 16:46

> いえ、gunplotを使ってグラフを書こうと考えています。



それを先に書かないと...

gnuplotを使うことが決まっているのであれば、そのドキュメントを読んでください。
    • good
    • 0
この回答へのお礼

すみません。ありがとうございます。

お礼日時:2011/04/23 16:48

ごめん, 「C言語でグラフ作成」と「gunplotを使ってグラフを書こうと考えています」の関係がまったくわからん.



「gnuplot を使ってグラフを描く」のが, なんで「C言語」と関係するんだ?
    • good
    • 0
この回答へのお礼

すみません。知識不足でした。

お礼日時:2011/04/23 16:47

> これを折れ線グラフにしたいと思っています。



では、Bresenhamのアルゴリズムで調べてみてください。

というか、本当にスクラッチで実装したいのでしょうか?

この回答への補足

いえ、gunplotを使ってグラフを書こうと考えています。

補足日時:2011/04/22 16:15
    • good
    • 0
この回答へのお礼

すみません。ありがとうございます。

お礼日時:2011/04/23 16:48

処理系不明の状況では、スクラッチで実装するしかありません。


JPEGだと大変ですので、まずはBMPから始めたほうがよいでしょうね。

あとはどんなグラフかによります。
棒グラフとかだと簡単ですが、文字を描画するのが一番大変かもしれません。
まあ、数字だけならフォントを自作してもしれていますが...。

この回答への補足

さっそくのご回答ありがとうございます。処理するデータはCSV形式の2列データです。行数は30行程度です。

これを折れ線グラフにしたいと思っています。

アドバイズいただけないでしょうか?

補足日時:2011/04/22 15:27
    • good
    • 0
この回答へのお礼

すみません。ありがとうございます。

お礼日時:2011/04/23 16:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!