【问题标题】:Display colorbar with a plot on mollweide projection在 mollweide 投影上显示带有绘图的颜色条
【发布时间】:2018-10-26 05:48:05
【问题描述】:

我尝试使用带有颜色条的 mollweide 投影绘制 lllbbb 变量的散点图,并将 amplitudes 作为颜色。

如果我这样做

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() 添加一行,它不起作用。

提前感谢您的帮助。

【问题讨论】:

标签: python matplotlib plot scatter-plot


【解决方案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()

【讨论】:

  • 非常感谢
猜你喜欢
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 2018-04-09
  • 2015-07-27
  • 2021-09-17
  • 2013-08-24
  • 2014-10-12
相关资源
最近更新 更多