Python氣象數(shù)據(jù)處理與繪圖:小提琴圖 Violin Plot

介紹

以下來自維基百科

A violin plot is a method of plotting numeric data. It is similar to a box plot, with the addition of a rotated kernel density plot on each side.Violin plots are similar to box plots, except that they also show the probability density of the data at different values, usually smoothed by a kernel density estimator. Typically a violin plot will include all the data that is in a box plot: a marker for the median of the data; a box or marker indicating the interquartile range; and possibly all sample points, if the number of samples is not too high.
A violin plot is more informative than a plain box plot. While a box plot only shows summary statistics such as mean/median and interquartile ranges, the violin plot shows the full distribution of the data. The difference is particularly useful when the data distribution is multimodal (more than one peak). In this case a violin plot shows the presence of different peaks, their position and relative amplitude.

簡單來說

小提琴圖 (Violin Plot)顧名思義就是長得像小提琴的圖劲室,相比較箱線圖(Box Plot)多了一個概率密度展示的功能露乏。這個功能通過小提琴的寬窄來表示茎匠,比如下圖下面最寬的地方代表數(shù)據(jù)分布在這附近概率最大喜每,其他的功能與箱線圖基本差不多,由于氣象領(lǐng)域用該圖形較少蕉堰,所以今天寫了一個記錄貼來研究下如何繪制宝冕。


image.png

方法有多種

1.matplotlib

https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.violinplot.html
matplotlib官網(wǎng)提供了最簡單的小提琴圖畫圖

用法如下
Axes.matplotlib.violinplot(self, dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, quantiles=None, points=100, bw_method=None, ***, data=None)[source]?
主要就是數(shù)據(jù)讀取之后寻狂,把數(shù)據(jù)導(dǎo)入dataset,其他不用設(shè)置就可以出來簡單的小提琴圖蔗蹋。其他的如顏色何荚,百分比都可以在參數(shù)中設(shè)置。這里需要注意的是猪杭,數(shù)據(jù)讀取可以用pandas餐塘,也可以自己手動輸入保存為numpy格式都行。
這里給出讀取數(shù)據(jù)+畫圖的主要核心模塊胁孙,比如我把各個區(qū)域的數(shù)據(jù)提取其中不同時期的數(shù)據(jù)進行分析唠倦。

region=0
ALL=[[],t1[region][6:25 ].values,t2[region][6:25 ].values,t3[region][6:25 ].values,t4[region][6:25 ].values,
          [],t1[region][46:65].values,t2[region][46:65].values,t3[region][46:65].values,t4[region][46:65].values,
          [],t1[region][66:85].values,t2[region][66:85].values,t3[region][66:85].values,t4[region][66:85].values,
          [],
         ]
fig =plt.figure(figsize=(6, 5))
ax =fig.add_axes([0.3,  0.2, 1.5,  1])
medianprops = dict(color="black",linewidth=2)
bplot1 =ax.boxplot(wind_ALL,    vert=True,  # vertical box alignment
                           whis=False, 
                         patch_artist=True,  # fill with color
                         showfliers =False,    # 
                         showbox = True  ,  #顯示超出上限的異常值称鳞。
                         showmeans =False  ,    #平均值.  綠色交尖
                         medianprops=medianprops,
                         widths=0.5,
                         autorange=True,
                   
                   #      labels=labels
                   )  # will be used to label x-ticks
自己設(shè)置一下圖的屬性就可以得到這樣的小提琴圖了

2.Seaborn

https://seaborn.pydata.org/generated/seaborn.violinplot.html
官網(wǎng)的參考文檔永遠是最好的學(xué)習(xí)工具

seaborn作為一個數(shù)據(jù)處理分析的工具使用起來非常方便,很適合初期出圖的時候使用稠鼻。但是我這邊因為個人需求比較多冈止,改起來很亂不如我自己手動寫函數(shù)了,所以這個用的不多候齿。我就用同樣的數(shù)據(jù)做個例子熙暴。
上段代碼最后一個改為

bplot1 =sns.violinplot(data=ALL)
seaborn

總結(jié)

seaborn很適合對數(shù)據(jù)進行草圖的繪制,這兩個圖的結(jié)果是一致的慌盯。小提琴圖目前在很多一區(qū)論文中也會出現(xiàn)了周霉,以后可能會經(jīng)常出現(xiàn),代替箱線圖指日可待了亚皂,哈哈俱箱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灭必,隨后出現(xiàn)的幾起案子狞谱,更是在濱河造成了極大的恐慌,老刑警劉巖禁漓,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跟衅,死亡現(xiàn)場離奇詭異,居然都是意外死亡播歼,警方通過查閱死者的電腦和手機伶跷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秘狞,“玉大人叭莫,你說我怎么就攤上這事∷甘裕” “怎么了食寡?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長廓潜。 經(jīng)常有香客問我抵皱,道長,這世上最難降的妖魔是什么辩蛋? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任呻畸,我火速辦了婚禮,結(jié)果婚禮上悼院,老公的妹妹穿的比我還像新娘伤为。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布绞愚。 她就那樣靜靜地躺著叙甸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪位衩。 梳的紋絲不亂的頭發(fā)上裆蒸,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音糖驴,去河邊找鬼僚祷。 笑死,一個胖子當(dāng)著我的面吹牛贮缕,可吹牛的內(nèi)容都是我干的辙谜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了台颠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤烂琴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蜕乡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡梗夸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年层玲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片反症。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡辛块,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铅碍,到底是詐尸還是另有隱情润绵,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布胞谈,位于F島的核電站尘盼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏烦绳。R本人自食惡果不足惜卿捎,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望径密。 院中可真熱鬧午阵,春花似錦、人聲如沸享扔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至籽懦,卻和暖如春于个,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背猫十。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工览濒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拖云。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓贷笛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宙项。 傳聞我的和親對象是個殘疾皇子乏苦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345