首页 > 解决方案 > 在python中绘制分布的分数

问题描述

我试图将分布的分数绘制为给定参数的函数,比如密度。假设我的数据有 1730 个星系,其中 266 个是非孤立星系。我想绘制这样的图:[O ii] 发射器中非孤立星系的比例被绘制为星系局部密度的函数

([O ii] 发射器中非孤立星系的比例绘制为星系局部密度的函数。虚线显示了对数据的线性拟合。这里采用的 log Σ10th bin 的大小为 0.2 dex,除了只有少数对象的最低和最高 logΣ10 箱(这些箱为 0.3 dex)。

这是我的示例数据

我试图像这样绘制

import numpy as np
import matplotlib.pyplot as plt
from astropy.table import Table,join,unique,vstack

data=Table.read('data_test.fits')
non_iso_data=data[data['is_non_isolation']==True] #Selecting non-isolation

density=np.log10(data['density'])
density_non_iso=np.log10(non_iso_data['density'])
nbins=7
bins=np.logspace(np.log10(np.min(density)),np.log10(np.max(density)),num=n_bins)
plt.hist(density,bins=bins, weights=1/(len(data))

我不确定如何执行此操作以及如何绘制这样的错误。

请帮我解决这个问题。谢谢

标签: pythonpython-3.xmatplotlibplotstatistics

解决方案


推荐阅读