![]() |
XLPack for Matplotlib Experimental Version 0.1
例題集
|
sin(sqrt(x^2 + y^2)) の表面プロットを作成する.
Sub Test_Axs3d_Plot_surface()
Const L = -5, H = 5, D = 4
Const N = (H - L) * D + 1
Dim X(N - 1, N - 1) As Double, Y(N - 1, N - 1) As Double, Z(N - 1, N - 1) As Double
Dim I As Long, J As Long
Dim Fig As Figure, Ax3 As Axs3d, Surf As PyObject
'-- Make data
For I = 0 To N - 1
For J = 0 To N - 1
X(J, I) = (1# / D) * I + L
Y(J, I) = (1# / D) * J + L
Z(J, I) = Sin(Sqr(X(J, I) ^ 2 + Y(J, I) ^ 2))
Next
Next
'-- Plot
Set Fig = Plt.Figure()
Set Ax3 = Fig.Add_subplot_3d()
Set Surf = Ax3.Plot_surface(N, N, X(), Y(), Z(), "coolwarm")
Call Fig.Colorbar(Surf, KwArgs:="shrink=0.5, aspect=5")
Call Plt.Show
End Sub