我一直在尝试使用Python获取“示例”图片(使用3D图形计算生成)几天,但是继续遇到麻烦,除了中间的峰值之外,还要获得绘图的片段达到规模。
我正在使用此代码:
import numpy as np
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")
X, Y = np.mgrid[-1:1:30j, -1:1:30j]
Z = (2*X*Y) + (1/np.sqrt(X**2+Y**2))
ax.plot_surface(X, Y, Z, cmap="autumn_r", lw=0.5, rstride=1, cstride=1)
ax.contour(X, Y, Z, 10, lw=3, cmap="autumn_r", linestyles="solid", offset=-1)
ax.contour(X, Y, Z, 10, lw=3, colors="k", linestyles="solid")
plt.show()
生成此图表。
它很接近,但看起来应该更像这个。当我降低30j以试图降低它并希望两侧的耀斑更加明显时,它会摆脱整个峰值。我正试图解决这个问题。
答案 0 :(得分:0)
如果您尝试以下行怎么办?
X, Y = np.mgrid[-7:7:100j, -7:7:100j]