Excelとの連携 3 Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画 今日のポイント 3Dグラフ描画のためのテクニックを身につける 1 3-D/等高線グラフの練習 Excelのシート上で数値データを2次元的に配置 (CSVファイルを読み込むか、手で入力) データ領域を選択 「挿入(I)」→「グラフ(H)...」または グラフ挿入アイ コン を選択して グラフウィザード を起動 「グラフの種類(C)」で等高線を選択し、「形式 (T)」で 3-Dグラフ または 等高線グラフ を選択 「完了」をクリックして、とりあえずグラフ描画 2 練習1 以下のデータで3-Dグラフと等高線グラフを 描いてみよ 0 0 0 1 0 1 0 1 0 0 0 1 2 1 0 0 1 1 1 0 1.8-2 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 1.6-1.8 1.4-1.6 1.2-1.4 1-1.2 0.8-1 S4 1 0 0 0 0 0 2 3 4 5 S1 0.6-0.8 0.4-0.6 0.2-0.4 0-0.2 3 3-D/等高線グラフのためのTips(1) データ領域の左上隅に数値があれば、領域内の 0は省略可(空白セルは0とみなされる) データ領域が広い場合、Ctrl+<矢印>でデータ境 界までジャンプするとよい 「グラフ(C)」メニュー内の「元のデータ(S)...」の データ範囲 タブでの系列: 行(R) では、前後(上下)の軸(=Y)がシートの向きと逆 → Y軸=系列軸(S1,S2...)の書式設定で「軸を反転す る」をチェックするとシートと同じになる 列(L) にすると、下がX、右がYになり、左90度回転 4 3-D/等高線グラフのためのTips(2) 1行目(あるいは1列目)を 項目軸ラベル に指定 3-DグラフでのZ/数値軸の目盛間隔変更はZ/数 値軸を右クリックして「軸の書式設定(O)...」メ ニューの 目盛 タブで行う 等高線グラフでのZ/数値軸の目盛間隔変更は 「凡例の書式設定(O)...」 メニューの 目盛 タブで 「グラフ(C)」メニューの「3-Dグラフ(V)...」より「3Dグラフ設定」メニューを開くと、視点の位置などを 変更できる 5 3-D/等高線グラフのためのTips(3) Z軸のレベルをあらわす 凡例マーカー の色を 変更するには、凡例内の個々のマーカーだけ をクリック選択し、右クリックにより「凡例マー カーの書式設定(O)...」メニューを開いて 領域 の色を選択する → 大変面倒でかつ、色数が少ない… 「グラフ(C)」メニュー「元のデータ(S)...」の 系 列 タブで系列の 名前(N) 欄にY軸の数値を入 れると、なおよいのだが… 6 練習2 以下のデータで3-D/等高線グラフを描き、 Tipsをためしてみよ x S7 0 S6 y 2.5-3 S5 -1 1 -1 1.5-2 S4 -1 3 -1 1-1.5 0.5-1 S3 -1 -1 -1 2-2.5 -1-0 y 1 0-0.5 S2 2 3 x 4 5 6 -1--1 S1 7 7 2次元分布関数のプログラム /* Gauss2.c */ #include <stdio.h> #include <math.h> int main(void) { int i, j, n=20; x, y は -n/10 ~ n/10 double x, y; for (i = -n; i <= n; i++) { x = 0.1*i; printf("% 3.1f,",x); for (j = -n; j <= n; j++) { y = 0.1*j; printf("%5.3f",exp(-(x*x+y*y))); if (j == n) printf("\n"); else printf(","); } f (x,y)=exp(-(x2+y2)) } return 0; 8 } 実行結果 Z:\nyumon2>cl gauss2.c ... Z:\nyumon2>gauss2 > gauss2.csv このあと、CSVファイルを開き、XLSファイルに保 存してから3-Dグラフを描く。 9 3-Dグラフの例 1 0.8 0.8-1 0.6-0.8 0.4-0.6 0.2-0.4 0-0.2 0.6 z 0.4 0.2 0 -2 -1 x 0 1 2 10 ヒント 1列目のデータは「項目軸ラベル」用 よって、データ領域は2列目からとする 「元のデータ(S)...」の データ範囲 タブでの 系列は「列(L)」に 「元のデータ(S)...」の 系列 タブで「項目軸 ラベルに使用(T)」の欄に1列目(A列)の セル($A$1:$A$41)を指定 11 スキルアップタイム: 128x128 データ 1. face.dat を読み込み、等高線グラフにせよ。 (グラフの場所は「新しいシート」とせよ) 2. 向きが写真と同じになるように直せ。 3. Z軸のレベルがおおよそ10段階くらいになるよう に目盛間隔を調節せよ。 4. マーカー色にグレーや肌色を用い、モノクロ印 刷したときに自然な階調のグレーマップとなるよ うに変更せよ。 12 ヒント: face.dat はcsvファイル ではない。読み込むと き、ファイルの種類を すべてのファイル(*.*) としてから開き、 ス ペースによる固定長 フィールドのデータ と して読み込む。 凡例マーカーの書式 設定で輪郭をなしに すると、格子が消え てきれいになる。 13 第4回レポート(任意) 課題: スキルアップタイム の成果 提出期限: 2010年2月3日(水) 12:50 提出場所: ネットワーク実験室(1)の入口近くの箱 以下の項目を入れること(表紙は不要) 1.学籍番号、氏 名 2.face.dat の等高線グラフ (予備課題の場合はプログラムと3-Dグラフ) 3.感 想 14 予備のスキルアップタイム課題 C と Excel を用いて、 関数 f (r) = exp(-r2) |cos(2pr)|, r2 = x2+y2 の3-Dグラフを描け。 ただし、-2≦ x,y ≦2, Dx,Dy = 0.1 とする。 15 カラーパレットの設定変更 「ツール(T)」メニューから「オプション(O)...」メ ニューを開き 色 タブにおいて グラフの塗りつぶ し用のパレットを変更しておくことができる。 設定したファイルをテンプレートとして保存してお き、必要なときに再利用するとよい。 16
© Copyright 2024 ExpyDoc