Python可視化-二十四節(jié)氣與生日間隔天數(shù)統(tǒng)計

作為日臣埃可視化作品之一,今天分析一下自97年開始十厢,60年內(nèi)每次生日與立春(the Beginning of Spring)和雨水(the Rains)兩個節(jié)氣的相隔天數(shù)贯卦,看看哪一年會有重合的運氣。

立春甘桑,十二節(jié)令之首拍皮,舊稱正月節(jié);雨水跑杭,十二中氣立始铆帽。立春后,繼之雨水德谅,東風解凍锄贼、散而為雨,后鴻雁來女阀,草木萌動宅荤。而正月初十這天屑迂,常是在立春與雨水之間不定。

這與農(nóng)歷歷法相關(guān)冯键,農(nóng)歷紀年取月相朔望變化惹盼,參考太陽回歸年長度,設(shè)置閏月調(diào)整惫确,使之相適應(yīng)手报。因此農(nóng)歷和公歷不同,需要天文臺進行校準改化。立春常對應(yīng)公歷2月3掩蛤、4日,雨水常對應(yīng)公歷2與18陈肛、19日揍鸟,但正月初十與公歷時間對應(yīng)就比較混亂了。

1句旱、統(tǒng)計立春阳藻、雨水與正月初十對應(yīng)的公歷日期

Python中有一些公歷與農(nóng)歷相轉(zhuǎn)換的工具,如zhdate谈撒,sxtwl腥泥。但我是用百度查表查出來的,以如下格式存儲成BirthdayRecord.csv啃匿。對于日期間隔的計算蛔外,采用EXCEL計算,使用Python中的Pandas計算也可以溯乒。

年份 歷年生日 歷年立春 歷年雨水 立春間隔 雨水間隔 節(jié)氣間隔
1997 1997/2/16 1997/2/4 1997/2/18 -12 2 14
1998 1998/2/6 1998/2/4 1998/2/19 -2 13 15

2夹厌、Python繪圖展示

a、導(dǎo)入需要的包

import pandas as pd
import numpy as np
import matplotlib.pylab as plt
# 一些matplotlib畫圖的設(shè)置
large = 16; med = 12; small = 10
params = {'axes.titlesize': large,
          'legend.fontsize': med,
          'figure.figsize': (10, 6),
          'axes.labelsize': large,
          'axes.titlesize': med,
          'xtick.labelsize': med,
          'ytick.labelsize': med,
          'figure.titlesize': large}
plt.rcParams.update(params)
# 設(shè)置使用漫畫繪圖模式橙数,禁用可以返回普通模式
plt.xkcd()

b、處理數(shù)據(jù)

data = pd.read_csv("BirthdayRecord.csv", encoding="gb2312")
# 查看data的統(tǒng)計信息
data.info()

獲得輸出結(jié)果

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 60 entries, 0 to 59
Data columns (total 7 columns):
年份      60 non-null int64
歷年生日    60 non-null object
歷年立春    60 non-null object
歷年雨水    60 non-null object
立春間隔    60 non-null int64
雨水間隔    60 non-null int64
節(jié)氣間隔    60 non-null int64
dtypes: int64(4), object(3)
memory usage: 3.4+ KB

c帅戒、成圖

fig, ax = plt.subplots(figsize=(12,6), dpi=100)

# 畫出間隔
for i in range(len(data)):
    # 設(shè)置顏色
    color1 =  plt.cm.rainbow(np.abs(data.loc[i, "立春間隔"])/60 +0.7)
    color2 =  plt.cm.rainbow(np.abs(data.loc[i, "雨水間隔"])/30-0.5)
    # 畫點
    ax.scatter(data.loc[i, "年份"], data.loc[i, "立春間隔"], color=color1, marker="o", s=np.abs(data.loc[i, "立春間隔"])+15, zorder=5, label="the Beginning of Spring" if i==2 else None)
    ax.scatter(data.loc[i, "年份"], data.loc[i, "雨水間隔"], color=color2, marker="p", s=np.abs(data.loc[i, "雨水間隔"])+15, zorder=5, label="the Rains" if i==4 else None)
    # 畫圖例

# 畫直線
ax.plot(data["年份"], data["立春間隔"], color="red", linestyle="-", linewidth=0.5, alpha=0.3, zorder=0)
ax.plot(data["年份"], data["雨水間隔"], color="blue", linestyle="-", linewidth=0.4, alpha=0.3, zorder=0)

# 畫直線
ax.hlines(0, 1996, 2056, color="gray", linestyle="--", linewidth=1, alpha=1, zorder=20)
ax.vlines(2020, -24, 23, color="gray", linestyle="--", linewidth=1, alpha=1, zorder=20)

# 畫星星
zeroData = data[data["立春間隔"]==0]
ax.scatter(zeroData["年份"], zeroData["立春間隔"], marker="v", color="red", alpha=0.5, zorder=40)
# 畫星星
zeroData = data[data["雨水間隔"]==0]
ax.scatter(zeroData["年份"], zeroData["雨水間隔"], marker="^", color="blue", alpha=0.6, zorder=40)

# 設(shè)置坐標軸范圍
ax.set_xlim(1996, 2057)
ax.set_ylim(-31, 26)

# 設(shè)置x軸間隔
plt.xticks([data.loc[x, "年份"] for x in range(0, len(data), 6)])

# 設(shè)置文字
ax.set_xlabel("Year")
ax.set_ylabel("Interval /d")
ax.set_title("the Interval Between Birthday and the Two Solar Terms Each Year", size=large)

# 設(shè)置坐表軸隱藏
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

# 設(shè)置圖例
ax.legend(loc="lower center", ncol=2)
# ax.grid(alpha=0.3, color="gray", zorder=10)

# 保存圖片
plt.savefig("生日間隔統(tǒng)計.jpg", dpi=300)

成品圖


生日間隔統(tǒng)計.jpg

3灯帮、討論

  • 由于UbuntuServer沒有部分中文字體的版權(quán),所以用英語標注了一下逻住;
  • 2020年之后的節(jié)氣間隔是推測出的钟哥,由于農(nóng)歷本身需要天文臺掛測,所以只是做個參考瞎访;
  • 立春與雨水的間隔變化很規(guī)律腻贰,但具體什么規(guī)律就沒有深究,有學(xué)歷法的同學(xué)可以私信一下扒秸;
  • 紅色與藍色三角形代表重合的年份播演,然而并沒有幾次冀瓦。
  • 最后轉(zhuǎn)載請注明出處!P纯尽翼闽!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市洲炊,隨后出現(xiàn)的幾起案子感局,更是在濱河造成了極大的恐慌,老刑警劉巖暂衡,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件询微,死亡現(xiàn)場離奇詭異,居然都是意外死亡狂巢,警方通過查閱死者的電腦和手機撑毛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隧膘,“玉大人代态,你說我怎么就攤上這事≌畛裕” “怎么了蹦疑?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長萨驶。 經(jīng)常有香客問我歉摧,道長,這世上最難降的妖魔是什么腔呜? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任叁温,我火速辦了婚禮,結(jié)果婚禮上核畴,老公的妹妹穿的比我還像新娘膝但。我一直安慰自己,他們只是感情好谤草,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布跟束。 她就那樣靜靜地躺著,像睡著了一般丑孩。 火紅的嫁衣襯著肌膚如雪冀宴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天温学,我揣著相機與錄音略贮,去河邊找鬼。 笑死,一個胖子當著我的面吹牛逃延,可吹牛的內(nèi)容都是我干的览妖。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼真友,長吁一口氣:“原來是場噩夢啊……” “哼黄痪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盔然,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤桅打,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后愈案,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挺尾,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年站绪,在試婚紗的時候發(fā)現(xiàn)自己被綠了遭铺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡恢准,死狀恐怖魂挂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情馁筐,我是刑警寧澤涂召,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站敏沉,受9級特大地震影響果正,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盟迟,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一秋泳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧攒菠,春花似錦迫皱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赵辕,卻和暖如春既绩,著一層夾襖步出監(jiān)牢的瞬間概龄,已是汗流浹背还惠。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留私杜,地道東北人蚕键。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓救欧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锣光。 傳聞我的和親對象是個殘疾皇子笆怠,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 二十四節(jié)氣是指二十四時節(jié)和氣候蹬刷。二十四節(jié)氣是中國古代訂立的一種用來指導(dǎo)農(nóng)事的補充歷法,是中國古代漢族勞動人民長期經(jīng)...
    天馬酒仙閱讀 3,904評論 0 11
  • 前不久,豌豆的舅舅問了我這樣的問題:有的專家反對取消農(nóng)歷搂漠,提出的的理由是取消了農(nóng)歷迂卢,也就沒有二十四節(jié)氣了,沒有了節(jié)...
    豌豆花下貓閱讀 2,335評論 1 6
  • 火炮火燎的周一早上桐汤,從周末的慵懶中秒速回歸而克,迷迷瞪瞪中根據(jù)慣性洗臉擦臉,拍拍打打搞定怔毛,再一把拉起同樣迷迷瞪瞪的丫頭...
    茶醉小妖閱讀 245評論 0 1
  • 努力的你呀员萍,輕松一點吧。具體情況明天知曉馆截,求人不如求己充活,只有好好學(xué)習(xí),才可以鎮(zhèn)定自若蜡娶,沒什么了不起混卵,沒什么擔心。調(diào)...
    欣欣向榮吉吉閱讀 163評論 0 5
  • 我們總是在尋找某樣?xùn)|西窖张,一刻也未曾停下腳步幕随。————題記 在這個愈來愈繁華的國度中生活著的人宿接,隨著...
    2020級1班閱讀 163評論 0 1