0
我需要繪製透明度,半徑和x,y,z座標變化的球體。繪製matplotlib中的曲面(球體),以座標爲中心,然後以0,0,0
我能夠繪製球體並提供透明度(alpha)值和半徑值(爲了簡化示例,我已將其更改爲隨機數),但我一直無法弄清楚如何將球體圍繞其他座標0,0,0進行居中。
如何使用pythons matplotlib libary將一個球體圍繞其他0,0,0座標?
這是我到目前爲止;
from __future__ import print_function
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
import time , random
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_xlim3d([100.0, 0.0])
ax.set_xlabel('X')
ax.set_ylim3d([0.0, 100.0])
ax.set_ylabel('Y')
ax.set_zlim3d([0.0, 100.0])
ax.set_zlabel('Z')
ax.set_title('pFC-amygdala-insula')
wframe = None
tstart = time.time()
for num in range(100):
oldcol = wframe
r = random.randint(1, 20)
alpha = 1.0/random.randint(25, 100)
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = r * np.outer(np.cos(u), np.sin(v))
y = r * np.outer(np.sin(u), np.sin(v))
z = r * np.outer(np.ones(np.size(u)), np.cos(v))
sphere = ax.plot_surface(x, y, z, color='b', alpha=alpha)
if oldcol is not None: ax.collections.remove(oldcol)
plt.pause(.001)
print('Duration: %f' % (100/(time.time() - tstart)))
非常感謝! – user1454024