Python演習問題:等高線図とベクトル図

インポート・エイリアス設定

いつも通り.

import numpy as np
import matplotlib.pyplot as plt

問題

  1. 最大値・最小値の検出で作成したpeaksをimportしなさい.importの際に不要な処理をしないよう,peaksが入ったファイルを修正しなさい.
    from XXX import peaks
    if __name__ == '__main__':
  2. peaksを使って等高線図(コンター)を作成しなさい.座標軸の名前を表示しなさい.
    #オブジェクト指向らしく
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.contour()
    ax.set_xlael()
    ax.set_ylabel()
    # MATLABっぽく
    plt.contour()
    plt.xlabel()
    plt.ylabel()
  3. 上記のデータから勾配を求め,等高線図の上にオーバーラップさせたベクトル図を作成しなさい.その際に,縦軸,横軸のスケールを1対1としなさい.
    Fx, Fy = np.gradient(F)
    # オブジェクト指向らしく
    ax.quiver(...)
    ax.quiverkey(...)
    ax.axis(...)
    # MATLABっぽく
    plt.quiver(...)
    plt_quiverkey(...,labelpos='E')
    plt.axis(...)
  4. peaksを使って塗り潰しコンター図を作成しなさい.コンターの最大値と最小値は[-5,10]で,図の脇にcolorbarを付けなさい.その際にaの2回微分を求め,ベクトル図をオーバーラップさせなさい.
    C = ax.contourf(xxx,extend='both')
    Q = ax.quiver(xxx)
    ax.quiverkey(Q,...)
    fig.colorbar(C,...)
  5. 3,4の図をpng,eps形式で保存し,ファイルの大きさを比べなさい.
    fig.savefig('filename',format='hoge',dpi=num)
    plt.savefig('filename',format='hoge',dpi=num)

解答例(参考)

塗りつぶしコンターは微妙な見栄え.
contour_and_quiver.png contourf_test.png


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2018-07-11 (Wed) 05:25:51 (2116d)