【发布时间】:2021-04-25 19:00:37
【问题描述】:
我想在 3D 中绘制我的data,如下图(实心圆圈根据偏角以灰度显示;较深的颜色表示偏角较低。RA-Dec 平面中的点是投影天体)
我是这样绘制的,但我无法得到上面给出的数字
import numpy as np, math
import matplotlib.pyplot as plt
from astropy.table import Table
from mpl_toolkits.mplot3d import Axes3D
data=Table.read('test_data.fits')
min_red=min(data['redshift'])
fig = plt.figure(figsize=(16,14))
ax = Axes3D(fig)
ax = fig.gca(projection='3d')
ax.view_init(10,30)
ax.plot(data['ra'], data['dec'], data['redshift'],'ko',markersize=5,linewidth=2)
m=ax.plot(data['ra'], data['dec'], 'ro', markersize=1, color='r', zdir='z', zs=min_red)
ax.set_xlabel('ra')
ax.set_ylabel('dec')
ax.set_zlabel('redshift')
plt.show()
如何像第一个图一样绘制。请帮忙
【问题讨论】:
-
@Mr.T 这与您评论的问题不同。我想改变 3D 分布的形状(我的第一个图)。但我不能那样作图。我想以与第一个图相同的方式绘制
-
什么是“相同的方式”,“所见的形状”是什么意思?图像在许多方面有所不同。是否要更改viewing angle?
-
@Mr.T 是的,我想像第一个图一样改变视角。实际上,X、Y 和 Z 是相同的(第一个图使用了另一种变换,但它与 X 是 RA、y 是 DEC 和 z 是 Redshift 相同[第一个图将红移转换为距离,所以它是相似的]。我会喜欢以相同的视角绘制我的图,没有网格
-
这告诉您如何使特定窗格不可见:stackoverflow.com/q/44001613/8881141 有了这些信息,您应该能够重新创建所需的输出。
标签: python matplotlib plot 3d scatter-plot