使用指南

排盘九步对应的 API

排盘的九个步骤各自对应哪个公开函数,以及哪些步骤会被配置开关改变。

适合:开发者

排盘的九个步骤在 x-iztro 里每一步都有对应的公开函数。 日常排盘用不到它们——直接调排盘入口即可; 这一页面向两类需求:想核对某一步的推算,或想复用其中一段自建流程。

下面的示例用的是 2000-8-16 寅时 女这张盘,与 排盘是怎么算的一页同一个例子。

步骤与 API 对照

2. 定月索引

utils.fix_lunar_month_index(7, 17, False, 2, True)   # 农历七月十七、非闰月、寅时、修正闰月
6

Rust · Python · Go

3. 定命宫身宫

utils.get_soul_and_body(6, 2, "gengHeavenly")   # 月索引、时辰索引、年干
SoulAndBody(soul_index=4, body_index=8, heavenly_stem_of_soul='renHeavenly', earthly_branch_of_soul='wuEarthly')

Rust · Python · Go

4. 定五行局

utils.get_five_elements_class("renHeavenly", "wuEarthly")   # 命宫干、命宫支
wood3rd

Rust · Python · Go

5. 起紫微天府

star.get_start_index("2000-8-16", 2, "female")
StartIndex(ziwei_index=4, tianfu_index=8)

Rust · Python · Go

6 与 7. 安主星、辅星与杂耀

三组各有一个入口,返回十二宫的星耀分布; 另有各组的落宫索引函数(get_lu_yang_tuo_ma_indexget_chang_qu_index 等), 清单见各语言的安星模块页。

Rust · Python · Go

8. 安四组十二神

get_changsheng12get_boshi12get_yearly12, 以及两个起点函数 get_changsheng12_start_indexget_jiangqian12_start_index

9. 推大限小限

r = utils.get_decadals_and_ages(4, "wood3rd", "female", "gengHeavenly", "chenEarthly")
print(r.decadals[0], r.ages[0])
Decadal(range=(43, 52), heavenly_stem='戊', heavenly_stem_key='wuHeavenly', earthly_branch='寅', earthly_branch_key='yinEarthly') [9, 21, 33, 45, 57, 69, 81, 93, 105, 117]

这个函数直接收命宫索引与五行局,不必先凑出一份完整的出生数据, 能力是 iztro 对应函数的超集。见从 iztro 迁移:API 对照

Rust · Python · Go

哪些步骤会被配置改变

配置影响的步骤
year_divide1(年干支)→ 连带 6、7、8、9
horoscope_divide1(月柱与年系杂耀所用年支)→ 连带 7
day_divide1、2(晚子时归属)→ 连带 3、5
age_divide9(虚岁进位时点)
algorithm4(中州派命主按年支)、7、8(部分星耀的取法)
astro_type4 起(换宫起局)→ 连带 5、6、8、9
自定义四化表6(四化标记)与全部飞星判断
自定义亮度表6、7(星耀亮度)

逐项说明见 Config 详解

本页目录