系外行星目录界面
exodata的Python项目详细描述
#外部数据
[![构建状态](https://api.travis-ci.org/ryanvarley/exodata.png?branch=master)(https://travis ci.org/ryanvarley/exodata)
[![文档状态](https://readthedocs.org/projects/exodata/badge/?版本=最新](http://exodata.readthedocs.io/en/latest/?徽章=最新)
[![覆盖状态](https://coveralls.io/repos/ryanvarley/exodata/badge.svg)](https://coveralls.io/r/ryanvarley/exodata)
此python接口(以前是oecpy)用作[开放外星球目录](https://github.com/open exoplanet catalogue/open撸exoplanet撸cata)的原始xml之间的链接。Logo)。它允许:
*搜索行星(包括替代名称)
*简单地引用行星参数,如gj1214b.ra、gj1214b.t、gj1214b.r
*计算过境时间等值。
*定义行星类型并查询行星以找出它们是什么ts
*轻松导航层次结构(即从行星到恒星或从恒星到行星)
*行星中系统参数的可用性(即ra、dec、d(距离))
如果您在科学出版物中使用Exodata,请包括对本论文的参考[http://dx.doi.org/10.1016/j.cpc.2016.05.009](http://dx.doi.org/10.1016/j.cpc.2016.05.009)。
#安装
此模块取决于
*[数量](https://github.com/python数量/python数量)
*[数量](http://www.numpy.org/)
*nose
*matplotlib
*请求
*假设
*[打开系外行星目录](https://github.com/open exoplanet catalogue/openxoplanet_catalogue)(在您的系统中的某个地方)
**目前仅在Mac和Linux上的Python2.7、3.4和3.5下测试**。如果您使用windows或其他python版本,请无论如何尝试,如果遇到问题,请打开一个问题。
当然,也可以每次自动从Web加载最新版本。
git克隆https://github.com/open exoplanet catalogue/open_exoplanet_catalogue.git
然后应该下载目录。如果要更新目录,请移动到open_exoplanet_catalogue文件夹并拉入
cd open_exoplanet_catalogue/
git pull origin master
如果要以gui方式跟踪此回购,我建议使用[sourcetree](http://www.sourcetreeapp.com/)或[github client)(https://help.github.com/articles/set-up git)。
s文件夹)
exocat=exodata.oecdatabase(数据库位置)
=exodata.load_db_from_url()
然后您可以访问列表
exocat.stars
exocat.plasters
exocat.transitingplasters
以下代码假定导入(以及如上所述加载exocat)
import exodata
import exodata.astroQuantity as aq
您现在可以执行更高级的查询,例如获取半径小于10的所有行星地球半径
>;>superearths=[外星系行星中的行星,如果是行星r<;(10*aq.r\u e)]
>;>len(superearths)
1096
选择行星
>;>kepler60b=exocat.searchplanet('kepler60b')
>; p开普勒60号行星(开普勒60号行星)、开普勒60号行星、开普勒60号行星、开普勒60号行星、开普勒60号行星、开普勒60号行星(开普勒60 C行星、开普勒60 C行星、开普勒60 B行星、开普勒60 D开普勒60 D行星)是开普勒60号恒星获得开普勒60号恒星的关键。是的获取行星半径
阵列(0.196)*r_j这就像一个阵列在大多数函数中的工作方式一样
>>>>gt;开普勒60b.r.r.r.r.rescale(aq.r_e)参见"单位"部分了解更多
阵列(2.1507770051797206)*r_e
>>>>>开普勒60b.r.r.r.rescale(aq.m)阵列(13702525252525252525
请参见"单位"部分了解更多
请参见"单位"部分
阵列(2 56.0分)*关于开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b;开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普英语1214 b')
>>>>exocat.planetict['gliese 1214 b']\它由数量包处理,然后您可以访问大多数单位和常数,如米pq.m、天文单位pq.au等!
一些天文学单位,如r嫒e、r嫒j、r嫒s(其中e是地球,j是木星,s在太阳中)尚未包含在数量中,因此您需要通过导入exodata将其称为aq.r嫒e。astroquantity
导入exodata.astroquantity作为aq
exodata.astroquantity inc排除所有PQ单位,因此只需输入*AQ*。
还有其他单位,如质量(M_e、M_s和M_j)。
包含许多独立使用或直接从行星或恒星对象调用的系外行星方程。大多数方程都是类,当给定所有参数条时,一个将计算缺少的一个。
>>>;从exodata。方程导入开普勒第三定律
>>>;开普勒第三定律(a=0.01488*aq.au,m_s=0.176*aq.m_s)。p
数组(1.579696141940911)*d
>;kepl第三方焊接(A=0.015*AQ.AU,P=1.58*AQ.D.M U S
阵列(0.1802231567367392929148)*M U S
>>>>>;GJ12144B=外星面平面CT['Gliese 1214 B']
>>;GJ12144B;GJ12144B.Calcsurface重力()
阵列(7.92973535778087916)*M/S**2
>
>>>
>>>>>>
>>>>>>>>>>>>>>>>>GJ11214B;GJ12144B;平面平面平面CT['Gliese.calblogg()
2.8992587166958947
>>gj1214b.计算传输持续时间(圆形=真)
阵列(52.74732533968579)*min
假设
参数。目前,它们存储在字典"exodata.assumptions.planetassumptions"中。
覆盖这些值(或添加新值)将更改输出。例如,查看质量类型,我们可以看到定义极限的列表。编辑此列表以更改值或添加新类将改变行星在程序中的分类方式。
>;>;exodata.assumptions.planetassumptions['masstype']
[(array(10.0)*m嫒e,"super earth"),(array(20.0)*m嫒e,"neptune"),(inf,"jupiter")]
exodata global参数
可以在exodata中设置一些选项来更改程序的全局行为。默认情况下,如果参数缺少数量,则计算该数量如果可能的话。例如,如果你用.a表示半长轴,而它不在星表中,它将用周期和恒星质量计算并返回。除了升起"calculated sma"标志之外,这种情况不会发生。(参见标志)。通过键入
可以关闭此行为,这只会占用当前项目的范围,因此如果关闭解释器,它将重置为true。
plotting
exodata具有行星和恒星p的绘图库散点图和每个参数箱中的参数。有关更多信息,请参见文档的[绘图部分](https://github.com/ryanvarley/open-exoplanet-catalogue-python/wiki/plotting)。请注意,此处显示的所有绘图都是在"import seaborn"之后生成的,这会更改绘图样式。
您还需要在键入任何其他命令之前关闭打开的绘图。
import matplotlib.pyplot as plt
plt.show()
)
dm_plot.plot(方法标签=("径向速度"、"过境方法"、"其他")
````
![按年份划分的发现方法](https://github.com/ryanvarley/exodata/blob/images/discovery_year_method_v2.png?raw=true"按年份的发现方法")
\python
exodata.plots.generalplotter(exocat.plates,'r','m',yaxislog=true).plot()
plt.xlim(0,2.5)
```
![行星半径的行星质量](https://github.com/ryanvarley/exodata/blob/images/planetr-m_v5.png?raw=true"行星质量与行星半径图")
[具有行星半径的恒星v星等](https://github.com/ryanvarley/exodata/blob/images/planetr-starmagv_5.png"具有行星半径图的恒星v星等")
,0.4,float('inf'))。绘图条形图(标签旋转=45)
````
![行星偏心率](https://github.com/ryanvarley/exodata/blob/images/exodata-orbital-eccentricity_5.png"行星偏心率图")
您还可以将其绘制为饼图
`` python
exodata.plots.dataperparameterbin(exocat.planes,'e',
(0,0.05,0.1,0.2,0.4,float('inf')).plotPieChart()
```
![行星偏心率](https://github.com/ryanvarley/exodata/blob/images/exodata-orbital-eccentricity-pie_v6.png?raw=true"行星偏心率饼图")
plots也可以很大(即用于演示),您可以使用普通的*matplotlib*语法轻松更改颜色
``python
``exodata.plots.dataperparameterbin(exocat.planets,'m',
(0.2,0.5,1,2,3,6,12,float('inf'),size='large').plotbarchart(c='r')
```
![行星偏心率](https://github.com/ryanvarley/exodata/blob/images/exodata-orbital-eccentricity-large_v5.png?RAW=真实的"行星偏心率曲线图大")
许可证
MIT许可证
版权所有(C)2016 Ryan Varley
不受限制的软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本的权利,以及允许向其提供软件的人这样做的权利,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有
副本或大部分中。
>适合某一特定目的和非侵犯性。在任何情况下,
作者或版权持有人均不对任何索赔、损害或其他
责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或
软件的使用或其他交易引起的或与之相关的。
[![构建状态](https://api.travis-ci.org/ryanvarley/exodata.png?branch=master)(https://travis ci.org/ryanvarley/exodata)
[![文档状态](https://readthedocs.org/projects/exodata/badge/?版本=最新](http://exodata.readthedocs.io/en/latest/?徽章=最新)
[![覆盖状态](https://coveralls.io/repos/ryanvarley/exodata/badge.svg)](https://coveralls.io/r/ryanvarley/exodata)
此python接口(以前是oecpy)用作[开放外星球目录](https://github.com/open exoplanet catalogue/open撸exoplanet撸cata)的原始xml之间的链接。Logo)。它允许:
*搜索行星(包括替代名称)
*简单地引用行星参数,如gj1214b.ra、gj1214b.t、gj1214b.r
*计算过境时间等值。
*定义行星类型并查询行星以找出它们是什么ts
*轻松导航层次结构(即从行星到恒星或从恒星到行星)
*行星中系统参数的可用性(即ra、dec、d(距离))
如果您在科学出版物中使用Exodata,请包括对本论文的参考[http://dx.doi.org/10.1016/j.cpc.2016.05.009](http://dx.doi.org/10.1016/j.cpc.2016.05.009)。
#安装
此模块取决于
*[数量](https://github.com/python数量/python数量)
*[数量](http://www.numpy.org/)
*nose
*matplotlib
*请求
*假设
*[打开系外行星目录](https://github.com/open exoplanet catalogue/openxoplanet_catalogue)(在您的系统中的某个地方)
**目前仅在Mac和Linux上的Python2.7、3.4和3.5下测试**。如果您使用windows或其他python版本,请无论如何尝试,如果遇到问题,请打开一个问题。
当然,也可以每次自动从Web加载最新版本。
git克隆https://github.com/open exoplanet catalogue/open_exoplanet_catalogue.git
然后应该下载目录。如果要更新目录,请移动到open_exoplanet_catalogue文件夹并拉入
cd open_exoplanet_catalogue/
git pull origin master
如果要以gui方式跟踪此回购,我建议使用[sourcetree](http://www.sourcetreeapp.com/)或[github client)(https://help.github.com/articles/set-up git)。
s文件夹)
exocat=exodata.oecdatabase(数据库位置)
=exodata.load_db_from_url()
然后您可以访问列表
exocat.plasters
exocat.transitingplasters
以下代码假定导入(以及如上所述加载exocat)
import exodata
import exodata.astroQuantity as aq
您现在可以执行更高级的查询,例如获取半径小于10的所有行星地球半径
>;>superearths=[外星系行星中的行星,如果是行星r<;(10*aq.r\u e)]
>;>len(superearths)
1096
选择行星
>;>kepler60b=exocat.searchplanet('kepler60b')
>;
阵列(0.196)*r_j这就像一个阵列在大多数函数中的工作方式一样
>>>>gt;开普勒60b.r.r.r.r.rescale(aq.r_e)参见"单位"部分了解更多
阵列(2.1507770051797206)*r_e
>>>>>开普勒60b.r.r.r.rescale(aq.m)阵列(13702525252525252525
请参见"单位"部分了解更多
请参见"单位"部分
阵列(2 56.0分)*关于开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b;开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普勒60b.开普英语1214 b')
>>>>exocat.planetict['gliese 1214 b']\它由数量包处理,然后您可以访问大多数单位和常数,如米pq.m、天文单位pq.au等!
一些天文学单位,如r嫒e、r嫒j、r嫒s(其中e是地球,j是木星,s在太阳中)尚未包含在数量中,因此您需要通过导入exodata将其称为aq.r嫒e。astroquantity
导入exodata.astroquantity作为aq
exodata.astroquantity inc排除所有PQ单位,因此只需输入*AQ*。
还有其他单位,如质量(M_e、M_s和M_j)。
包含许多独立使用或直接从行星或恒星对象调用的系外行星方程。大多数方程都是类,当给定所有参数条时,一个将计算缺少的一个。
>>>;从exodata。方程导入开普勒第三定律
>>>;开普勒第三定律(a=0.01488*aq.au,m_s=0.176*aq.m_s)。p
数组(1.579696141940911)*d
>;kepl第三方焊接(A=0.015*AQ.AU,P=1.58*AQ.D.M U S
阵列(0.1802231567367392929148)*M U S
>>>>>;GJ12144B=外星面平面CT['Gliese 1214 B']
>>;GJ12144B;GJ12144B.Calcsurface重力()
阵列(7.92973535778087916)*M/S**2
>
>>>
>>>>>>
>>>>>>>>>>>>>>>>>GJ11214B;GJ12144B;平面平面平面CT['Gliese.calblogg()
2.8992587166958947
>>gj1214b.计算传输持续时间(圆形=真)
阵列(52.74732533968579)*min
假设
参数。目前,它们存储在字典"exodata.assumptions.planetassumptions"中。
覆盖这些值(或添加新值)将更改输出。例如,查看质量类型,我们可以看到定义极限的列表。编辑此列表以更改值或添加新类将改变行星在程序中的分类方式。
>;>;exodata.assumptions.planetassumptions['masstype']
[(array(10.0)*m嫒e,"super earth"),(array(20.0)*m嫒e,"neptune"),(inf,"jupiter")]
exodata global参数
可以在exodata中设置一些选项来更改程序的全局行为。默认情况下,如果参数缺少数量,则计算该数量如果可能的话。例如,如果你用.a表示半长轴,而它不在星表中,它将用周期和恒星质量计算并返回。除了升起"calculated sma"标志之外,这种情况不会发生。(参见标志)。通过键入
可以关闭此行为,这只会占用当前项目的范围,因此如果关闭解释器,它将重置为true。
plotting
exodata具有行星和恒星p的绘图库散点图和每个参数箱中的参数。有关更多信息,请参见文档的[绘图部分](https://github.com/ryanvarley/open-exoplanet-catalogue-python/wiki/plotting)。请注意,此处显示的所有绘图都是在"import seaborn"之后生成的,这会更改绘图样式。
您还需要在键入任何其他命令之前关闭打开的绘图。
import matplotlib.pyplot as plt
plt.show()
)
dm_plot.plot(方法标签=("径向速度"、"过境方法"、"其他")
````
![按年份划分的发现方法](https://github.com/ryanvarley/exodata/blob/images/discovery_year_method_v2.png?raw=true"按年份的发现方法")
\python
exodata.plots.generalplotter(exocat.plates,'r','m',yaxislog=true).plot()
plt.xlim(0,2.5)
```
![行星半径的行星质量](https://github.com/ryanvarley/exodata/blob/images/planetr-m_v5.png?raw=true"行星质量与行星半径图")
[具有行星半径的恒星v星等](https://github.com/ryanvarley/exodata/blob/images/planetr-starmagv_5.png"具有行星半径图的恒星v星等")
,0.4,float('inf'))。绘图条形图(标签旋转=45)
````
![行星偏心率](https://github.com/ryanvarley/exodata/blob/images/exodata-orbital-eccentricity_5.png"行星偏心率图")
您还可以将其绘制为饼图
`` python
exodata.plots.dataperparameterbin(exocat.planes,'e',
(0,0.05,0.1,0.2,0.4,float('inf')).plotPieChart()
```
![行星偏心率](https://github.com/ryanvarley/exodata/blob/images/exodata-orbital-eccentricity-pie_v6.png?raw=true"行星偏心率饼图")
plots也可以很大(即用于演示),您可以使用普通的*matplotlib*语法轻松更改颜色
``python
``exodata.plots.dataperparameterbin(exocat.planets,'m',
(0.2,0.5,1,2,3,6,12,float('inf'),size='large').plotbarchart(c='r')
```
![行星偏心率](https://github.com/ryanvarley/exodata/blob/images/exodata-orbital-eccentricity-large_v5.png?RAW=真实的"行星偏心率曲线图大")
许可证
MIT许可证
版权所有(C)2016 Ryan Varley
不受限制的软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本的权利,以及允许向其提供软件的人这样做的权利,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有
副本或大部分中。
>适合某一特定目的和非侵犯性。在任何情况下,
作者或版权持有人均不对任何索赔、损害或其他
责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或
软件的使用或其他交易引起的或与之相关的。