我尝试使用lll
作为颜色的bbb
和amplitudes
变量的散点图,以及带有颜色条的mollweide投影。
如果我这样做
import pylab as plt
import numpy as np
lll=N.random.uniform(-180,180,10000)
bbb=N.random.uniform(-90,90,10000)
amp=N.random.uniform(0,1,10000)
fig = plt.figure(figsize=(12,9))
ax = fig.add_subplot(111, projection="mollweide")
ax.scatter(N.array(lll)*N.pi/180., N.array(bbb)*N.pi/180., c=amp)
ax.grid(True)
我得到了我想要的情节但没有颜色条。如果我添加ax.colorbar()
或plt.colorbar()
的行,则无效。
提前感谢您的帮助。
答案 0 :(得分:1)
您需要从ax.scatter
返回值,然后将其作为参数传递给plt.colorbar
(不轴本身):
lll=np.random.uniform(0,360,10000)
bbb=np.random.uniform(-90,90,10000)
amplitudes=np.random.uniform(0,1,10000)
l_axis_name ='latitude l (deg)'
b_axis_name = 'longitude b (deg)'
for i in range(len(lll)):
if lll[i]>180:
lll[i] -= 360
fig = plt.figure(figsize=(12,9))
ax = fig.add_subplot(111, projection="mollweide")
ax.grid(True)
sc = ax.scatter(np.array(lll)*np.pi/180., np.array(bbb)*np.pi/180., c=amplitudes)
plt.colorbar(sc)
plt.show()