XLPack for Matplotlib Experimental Version 0.1
例題集
読み取り中…
検索中…
一致する文字列を見つけられません

三角格子上に等高線 (塗りつぶしあり) を描く.


Sub Test_Tricontourf()
    Const N = 256, Nlev = 7
    Dim X(N - 1) As Double, Y(N - 1) As Double
    Dim Z(N - 1) As Double, Zmin  As Double, Zmax As Double
    Dim Levels(Nlev - 1) As Double
    Dim I As Integer, J As Integer
    Dim Fig As Figure, Ax As Axs
    '-- Make data
    For I = 0 To N - 1
        X(I) = -3 + 6 * Rnd()
        Y(I) = -3 + 6 * Rnd()
        Z(I) = (1 - X(I) / 2 + X(I) ^ 5 + Y(I) ^ 3) * Exp(-X(I) ^ 2 - Y(I) ^ 2)
        If Z(I) < Zmin Then Zmin = Z(I)
        If Z(I) > Zmax Then Zmax = Z(I)
    Next
    For I = 0 To Nlev - 1
        Levels(I) = Zmin + I * (Zmax - Zmin) / 6
    Next
    '-- Plot
    Set Fig = Plt.Figure()
    Set Ax = Fig.Gca()
    Call Ax.Plot(N, X(), Y(), "o", "markersize=2, color='lightgrey'")
    Call Ax.Tricontourf(N, X(), Y(), Z(), Levels())
    Call Plt.Show
End Sub