python數(shù)據(jù)分析常用圖大集合:包含折線圖、直方圖、垂直條形圖、水平條形圖、餅圖、箱線圖、熱力圖、散點圖、蜘蛛圖、二元變量分布、面積圖、六邊形圖等12種常用可視化數(shù)據(jù)分析圖,后期還會不斷的收集整理,請關注更新!
創(chuàng)新互聯(lián)網(wǎng)站建設公司提供網(wǎng)站設計和自適應建站服務。團隊由有經(jīng)驗的網(wǎng)頁設計師、程序員和市場專家組成,能夠提供從H5響應式網(wǎng)站,網(wǎng)站制作,1元廣告,模板建站到微信小程序定制開發(fā)等全方位服務。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。
以下默認所有的操作都先導入了numpy、pandas、matplotlib、seaborn
一、折線圖
折線圖可以用來表示數(shù)據(jù)隨著時間變化的趨勢
Matplotlib
plt.plot(x,?y)
plt.show()
Seaborn
df?=?pd.DataFrame({'x':?x,?'y':?y})
sns.lineplot(x="x",?y="y",?data=df)
plt.show()
二、直方圖
直方圖是比較常見的視圖,它是把橫坐標等分成了一定數(shù)量的小區(qū)間,然后在每個小區(qū)間內用矩形條(bars)展示該區(qū)間的數(shù)值
Matplotlib
Seaborn
三、垂直條形圖
條形圖可以幫我們查看類別的特征。在條形圖中,長條形的長度表示類別的頻數(shù),寬度表示類別。
Matplotlib
Seaborn
1plt.show()
四、水平條形圖
五、餅圖
六、箱線圖
箱線圖由五個數(shù)值點組成:最大值 (max)、最小值 (min)、中位數(shù) (median) 和上下四分位數(shù) (Q3, Q1)。
可以幫我們分析出數(shù)據(jù)的差異性、離散程度和異常值等。
Matplotlib
Seaborn
七、熱力圖
力圖,英文叫 heat map,是一種矩陣表示方法,其中矩陣中的元素值用顏色來代表,不同的顏色代表不同大小的值。通過顏色就能直觀地知道某個位置上數(shù)值的大小。
通過 seaborn 的 heatmap 函數(shù),我們可以觀察到不同年份,不同月份的乘客數(shù)量變化情況,其中顏色越淺的代表乘客數(shù)量越多
八、散點圖
散點圖的英文叫做 scatter plot,它將兩個變量的值顯示在二維坐標中,非常適合展示兩個變量之間的關系。
Matplotlib
Seaborn
九、蜘蛛圖
蜘蛛圖是一種顯示一對多關系的方法,使一個變量相對于另一個變量的顯著性是清晰可見
十、二元變量分布
二元變量分布可以看兩個變量之間的關系
十一、面積圖
面積圖又稱區(qū)域圖,強調數(shù)量隨時間而變化的程度,也可用于引起人們對總值趨勢的注意。
堆積面積圖還可以顯示部分與整體的關系。折線圖和面積圖都可以用來幫助我們對趨勢進行分析,當數(shù)據(jù)集有合計關系或者你想要展示局部與整體關系的時候,使用面積圖為更好的選擇。
十二、六邊形圖
六邊形圖將空間中的點聚合成六邊形,然后根據(jù)六邊形內部的值為這些六邊形上色。
原文至:
改不了吧。。。?;蛘哒f很難?你生成的熱力圖是用了什么庫怎么生成的?還是自己寫的?
要把矩形變成六邊形,我感覺只能自己寫了吧。
我有個想法,那個等邊六邊形可以拆成上下各三個等邊三角形吧。那 這些六邊形拼在一起,實際上就是這些等邊三角形拼在一起。那就先把各個矩形的值投射到三角形上,在把三角形組合成六邊形,求個均值,然后填色
python中可使用seaborn.heatmap畫熱力圖, 官方文檔在這
在分類任務中,也可用于畫混淆矩陣:
一些參數(shù)的含義:
例子:
將最后一行改為,設置最大值和最小值:
設置中心值:
從文件中獲取數(shù)據(jù),并畫圖給出有意義的橫縱坐標:
將passengers對應的人數(shù)標出:
設置方格之間的間隔:
設置使用不同的顏色:
以某個具體的數(shù)據(jù)為中心:
自動填充坐標值:
不畫右邊的熱度條:
1)打開微信進入應用后點擊導航欄【我】,接著點擊【錢包】,進入錢包后點擊【城市服務】。 2)接著點擊【城市熱力圖】,接著點擊上方【搜索欄】。 3)搜索找到你要去的【地方】,就可以查看到該地區(qū)的【熱力圖和提示
熱力圖的一個常見應用場景是繪制相關系數(shù)熱力圖,數(shù)據(jù)準備一個相關系數(shù)矩陣。
調用 heatmap 方法繪制熱力圖。
設置 vmin 和 vmax 參數(shù)可以調整調色板的下限值和上限值。
設置 cmap 參數(shù),可以修改調色板樣式。
設置參數(shù) cbar=False 可以隱藏圖例。
設置參數(shù) annot=True 可以顯示熱力圖上的具體數(shù)值,設置 fmt 參數(shù),可以修改數(shù)值顯示的樣式。
# Python熱力圖繪制方法
熱力圖的使用場景有?
1.描述數(shù)據(jù)在空間的密集程度,常見有城市熱力圖,區(qū)域熱力圖
2.描述多個變量之間相關性高低程度
# step 1 準備數(shù)據(jù)集,讀取excel列表內容,usecols = index, 這里是表里的第一列不讀取。
index =range(1, 11)
dataset = np.array(pd.read_csv(r'C:\Users\Administrator\Desktop\heatmap.csv', usecols=index))
# step 2? 讀取excel行索引轉成列表,作為熱力圖的y軸標簽
a = (pd.read_csv(r'C:\Users\Administrator\Desktop\heatmap.csv', usecols=[0]))
y_label =list(a.stack())
# step 3 讀取excel列索引轉成列表,作為熱力圖的x軸標簽
b = (pd.read_csv(r'C:\Users\Administrator\Desktop\heatmap.csv'))
column_index=(b.columns.tolist())
x_label = column_index[1:]
# 這一步是為了計算熱力圖的數(shù)據(jù)的最大值,可以進行標準化處理,也可以直接顯示數(shù)據(jù),dataframe轉成list,從list里面尋找最大值
dataset_max = (pd.read_csv(r'C:\Users\Administrator\Desktop\heatmap.csv', usecols=index))
list1 = np.array(dataset_max.stack())
max_number =max(list1)
# step 4 開始繪制熱力圖
plt.figure(figsize=(14, 8))# 定義輸出圖像大小,annot參數(shù)決定是否在熱力圖上顯示數(shù)值,Vmax,Vmin表示最大最小值,cmap表示顏色
sns.heatmap(dataset, fmt='.0f', annot=True, vmin=0, vmax=max_number, cmap='Reds', yticklabels=y_label,
? ? ? ? xticklabels=x_label)
# 繪制標簽
plt.xlabel('This is x label', labelpad=15)
plt.ylabel('This is y label', labelpad=20)
plt.show()