Comments
Description
Transcript
円グラフの解説
円グラフ ある種の量の相対的関係を比較するのに、円グラフがよく使われる。その円グラフを比較的一般的に扱える ように工夫したプログラムを作りたい。 ¶ ³ [例題] 円グラフを描くプログラムを作れ。 µ ´ [解説] //題名のためのフォントの指定 Font numFont=new Font(”MS 明朝”,Font.ITALIC,18); は Font numFont=new Font(フォント名, フォントスタイル, フォントサイズ); g.setFont(numFont); は g に対して setFont() メソッドを使って作成したこのフォントをセットする。 FontMetrics fm=g.getFontMetrics(numFont); getFontMetrics(numFont) は「numFont という現在設定されているフォントの情報を返す」と言う意味で す。 //題名を書く int cwidth=fm.stringWidth(title); は title の文字列を fm で描く場合の横幅を求める。 g.drawString(title,width/2-cwidth/2,(int)(0.08*height)); は drawString(文字列名, 画面の横の中心-文字列の中心, 描く縦の位置)); //データの総和 int souwa=0; for(int i=0;i¡data.length;i++){ souwa += Integer.parseInt(data[i][1]); } 円グラフは相対的値を表示するのだから、データの総和を求めなければならない。 Integer.parseInt() は (文字列データ) を整数値に変換するメソッドである。 円弧内に文字を記入するためには、円弧のなす角度を求め、2 πから次第に角度を減じていく方法で描く。 円弧内に文字を書くには、円弧の半分の角度を求める必要がある。それは円弧の中心に描くためである。 その円弧が小さく、π/6 よりも角度が小さいときは、引き出し線を描くために、円弧内の位置を求め、さら に円弧外の位置を求める必要がある。そして円弧外の位置に文字を書く。 1