作者pig98520 (Jimmy)
看板Python
標題[問題] 直方圖重疊不疊加
時間Mon Aug 6 22:51:18 2018
各位大大好,小弟最近想把dataframe做資料視覺化呈現,
需要用到直方圖,但我想呈現的是重疊的效果,
原圖如圖下:
https://imgur.com/TgMmoJe
想做成下圖:
https://imgur.com/c5p5BJc
但是如果設定用bar的stacked=True,他會幫我累加:
以下為程式碼+結果
import pandas
import matplotlib.pyplot as plt
df=pandas.DataFrame([[1,2],[5,12]],columns=['Y1','Y2'],index=['X1','X2'])
df.plot(kind='bar', width=0.1,stacked=True)
plt.show()
https://imgur.com/xS6ZdSK
也就是說我不希望數值一直疊上去,而是"重疊覆蓋,但看得出所有數值的高度"
爬文爬了好久找不到適合的解答,想問一下是否有解?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.226.226
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1533567083.A.8D6.html
1F:推 TitanEric: 原po要的是X1會有兩個直方柱 還是一個而以 08/06 23:02
2F:→ TitanEric: 但是有顏色區分 08/06 23:02
3F:→ pig98520: 一個 但是有顏色區分唷 08/06 23:14
4F:→ pig98520: 如圖二 08/06 23:15
6F:→ gmccntzx1: 補充: 如果是重複覆蓋, 那你麼處理前一組數據小於後來 08/06 23:35
7F:→ gmccntzx1: 數值更大的數據? 08/06 23:36
8F:推 fischcheng: 分開畫,另外一個bar的ax設定前一個的 08/07 01:42
10F:→ fischcheng: 可是後畫的那個若大於前者會把前面蓋掉。 08/07 01:45
11F:→ fischcheng: 要是我的話會用簍空的,或是把bar稍微錯開 08/07 01:46
12F:推 iphone2003: 直接畫兩次疊上去就好了 08/07 03:09
13F:→ iphone2003: 然後可以調整個alpha設定透明度 08/07 03:10
14F:推 TitanEric: 樓上方法可以 08/07 10:46
15F:→ pig98520: 感謝各位大大,後來改用plot點圖的方式解決了,直方圖重疊 08/07 12:00
16F:→ pig98520: 的問題會導致資料沒有這麼好呈現,謝謝各位QQ 08/07 12:01