python - 在 mollweide 投影上显示带有绘图的颜色条
问题描述
我尝试使用带有颜色条的 mollweide 投影来绘制lll
和bbb
变量的散点图。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()
它不起作用。
在此先感谢您的帮助。
解决方案
您需要从 中返回值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()
推荐阅读
- android - Kotlin CountDownTimer lateinit 属性尚未初始化且未找到 CoreComponentFactory
- elasticsearch - Elasticsearch,映射类型字符串不能包含启用的false 为什么?
- swift - UITABLE view sections with different prototype cells in each section
- php - COOKIE_DOMAIN 和 WP_CONTENT_URL 在 WP 站点中创建问题
- node.js - 如何为任何请求禁用 SSL 验证?
- javascript - 无法访问以另一种方法初始化的元素
- angular - 在应用程序组件中声明的变量给出构建错误
- orientdb - 如何在 orientDb 中解决这个 com.orienttechnologies.common.io.OIOException?
- kotlin - Kotlin 单例与 Java 单例
- c++ - 用引号定义 C++ 预处理器宏