歡迎訪問我搞事情的【知乎賬號】:Coffee
以及我的【B站漫威剪輯賬號】:VideosMan
若我的筆記對你有幫助,請用小小的手指,點一個大大的贊哦。
關(guān)于DataFrame的相關(guān)知識,我還進行了匯總,歡迎點贊收藏?。?/p>
【Python學習筆記—保姆版】第四章—關(guān)于Pandas、數(shù)據(jù)準備、數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)可視化
5、數(shù)據(jù)可視化
相關(guān)注意
4.4Python數(shù)據(jù)處理篇之Matplotlib系列(四)—plt.bar()與plt.barh條形圖
拉出長畫布
fig = plt.figure(figsize=(12,4)) # 設(shè)置畫布大小
調(diào)整標簽字體大小
plt.tick_params(axis='x', labelsize=8) # 設(shè)置x軸標簽大小
標簽旋轉(zhuǎn)
plt.bar(df['sport_type'], df['score'])
4.5.1 餅圖:plt.pie(gb2.人數(shù),labels=gb2.index,autopct=‘%.2f%%’,colors=[‘b’,‘pink’,(0.5,0.8,0.3)],explode=[0,0,0,0,0.1])
餅圖(Pie Graph):又稱圓形圖,是一個劃分為幾個扇形的圓形統(tǒng)計圖,它能夠直觀的反映個體與總體的比例關(guān)系
pie(x,labels,colors,explode,autopct)
x 進行繪圖的序列
labels 餅圖的各部分標簽
colors 餅圖的各部分顏色,使用GRB標顏色
explode 需要突出的塊狀序列
autopct 餅圖占比的顯示格式,%.2f:保留兩位小數(shù)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\rz4.xlsx')
df
gb=df.groupby(by=['班級'])['學號'].agg([('人數(shù)',np.size)])
plt.pie(gb.人數(shù),labels=gb.index,autopct='%.2f%%',colors=['b','pink',(0.5,0.8,0.3)],explode=[0,0.2,0])
練習
df2= pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\09電動1.xls')
df2['C語言程序設(shè)計']=pd.cut(df2.C語言程序設(shè)計,bins=[0,60,70,80,90,101],right=False,labels=['不及格','及格','中等','良好','優(yōu)秀']) #right=False 控制左閉右開
gb2=df2.groupby(by=['C語言程序設(shè)計'])['學號'].agg([('人數(shù)',np.size)]).fillna(0) #fillna(0)填充空值
plt.pie(gb2.人數(shù),labels=gb2.index,autopct='%.2f%%',colors=['b','pink',(0.5,0.8,0.3)],explode=[0,0,0,0,0.1])
plt.rcParams['font.sans-serif']=['SimHei'] #字體
plt.rcParams['font.size']=30 #字體大小
plt.rcParams['figure.figsize']=[6,6] #正圓
-
plt.rcParams,顯示設(shè)值字體的東西
plt.rcParams plt.rcParams['font.sans-serif'] Out[43]: ['DejaVu Sans', 'Bitstream Vera Sans', 'Computer Modern Sans Serif', 'Lucida Grande', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant Garde', 'sans-serif'] plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['font.sans-serif']=['SimHei','...','...'] #沒有的往后找
4.5.2 散點圖:plt.plot(df.高代,df.數(shù)分,‘o’,color=‘pink’)
散點圖(scatter diagram):是以一個變量為橫坐標,另一個變量為縱坐標,利用散點(坐標點)的分布形態(tài)反映變量關(guān)系的一種圖形。
plot(x,y, '. ',color=(r,g,b))
plt.xlabel('x軸坐標')
plt.ylabel('y軸坐標')
plt.grid(Ture)
x、y X軸和Y軸的序列
'. '、'o' 小點還是大點
Color 散點圖的顏色,可以用rgb定義,也可以用英文字母定義
RGB顏色的設(shè)置:(red,green,blue) 紅綠藍顏色組成
df = pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\rz4.xlsx')
df
gb=df.groupby(by=['班級'])['學號'].agg([('人數(shù)',np.size)])
plt.plot(df.英語,df.數(shù)分,'.',color='g')
plt.xlabel('英語')
plt.xlabel('數(shù)分')
plt.plot(df.高代,df.數(shù)分,'o',color='pink')
plt.plot(df.高代,df.數(shù)分,'o',color='pink')
plt.plot(df.高代,df.數(shù)分,'-',color='pink') #連線
4.5.3 折線圖:plt.plot(df.學號,df.總分,‘-’,color=‘r’)
參數(shù)值 | 注釋 |
---|---|
- | 連續(xù)的曲線 |
— | 連續(xù)的虛線 |
-. | 連續(xù)的用帶點的曲線 |
: | 由點連成的曲線 |
. | 小點,散點圖 |
o | 大點,散點圖 |
, | 像素點(更小的點)的散點圖 |
* | 五角星的點散點圖 |
> | 右角標記散點圖 |
< | 左角標記散點圖 |
1(2,3,4) | 傘形上(下左右)標記散點圖 |
s | 正方形標記散點圖 |
p | 五角星標記散點圖 |
v | 下三角標記散點圖 |
^ | 上三角標記散點圖 |
h | 多邊形標記散點圖 |
d | 鉆石標記散點圖 |
df = pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\rz4.xlsx') df plt.plot(df.學號,df.總分,'-',color='r')
學號 班級 姓名 性別 英語 體育 軍訓 數(shù)分 高代 解幾 計算機基礎(chǔ) 總分
0 2308024241 23080242 成龍 男 76 78 77 40 23 60 89 443
1 2308024244 23080242 周怡 女 66 91 75 47 47 44 82 452
2 2308024251 23080242 張波 男 85 81 75 45 45 60 80 471
3 2308024249 23080242 朱浩 男 65 50 80 72 62 71 82 482
4 2308024219 23080242 封印 女 73 88 92 61 47 46 83 490
5 2308024201 23080242 遲培 男 60 50 89 71 76 71 82 499
6 2308024347 23080243 李華 女 67 61 84 61 65 78 83 499
7 2308024307 23080243 陳田 男 76 79 86 69 40 69 82 501
8 2308024326 23080243 余皓 男 66 67 85 65 61 71 95 510
9 2308024320 23080243 李嘉 女 62 60 90 60 67 77 95 511
10 2308024342 23080243 李上初 男 76 90 84 60 66 60 82 518
11 2308024310 23080243 郭竇 女 79 67 84 64 64 79 85 522
12 2308024435 23080244 姜毅濤 男 77 71 87 61 73 76 82 527
13 2308024432 23080244 趙宇 男 74 74 88 68 70 71 85 530
14 2308024446 23080244 周路 女 76 80 77 61 74 80 85 533
15 2308024421 23080244 林建祥 男 72 72 81 63 90 75 85 538
16 2308024433 23080244 李大強 男 79 76 77 78 70 70 89 539
17 2308024428 23080244 李側(cè)通 男 64 96 91 69 60 77 83 540
18 2308024402 23080244 王慧 女 73 74 93 70 71 75 88 544
19 2308024422 23080244 李曉亮 男 85 60 85 72 72 83 89 546
df=df.sort_values('學號')
df['學號后三位']=df.學號.astype(str).str.slice(-3,) #分離學號后三位,并加入新一列(不會影響df)
plt.plot(df.學號后三位,df.總分,'-',color='r') #畫圖
plt.xticks(rotation=60) #標簽旋轉(zhuǎn)度數(shù)
df2= pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\09電動1.xls')
plt.plot(df2.姓名,df2.C語言程序設(shè)計,'--',color='g')
plt.xlabel('姓名')
plt.ylabel('C語言程序設(shè)計')
plt.xticks(rotation=90)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['figure.figsize']=[10,6]
4.5.4 柱形圖:plt.bar(df.學號后三位,df.總分,width=1,color=[‘r’,‘b’])
柱形圖用于顯示一段時間內(nèi)的數(shù)據(jù)變化或顯示各項之間的比較情況,是一種單位長度的長方形,根據(jù)數(shù)據(jù)大小繪制的統(tǒng)計圖,用來比較兩個或以上的數(shù)據(jù)(時間或類別)。
bar(left,height,width,color)
barh(bottom,width,height,color)
left x軸的位置序列,一般采用arange函數(shù)產(chǎn)生一個序列
height y軸的數(shù)值序列,也就是柱形圖高度,一般就是我們需要展示的數(shù)據(jù)
width 柱形圖的寬度,一般設(shè)置為1即可
color 柱形圖填充顏色
df['學號后三位']=df.學號.astype(str).str.slice(-3,)
plt.bar(df.學號后三位,df.總分,width=1,color=['r','b']) #柱形圖
plt.xticks(rotation=60)
plt.barh(df.學號后三位,df.總分,0.6,color=['r','b']) #條形圖
bar
barh
4.5.5 直方圖:plt.hist(df2.C語言程序設(shè)計,bins=10,color=‘g’,cumulative=True)
直方圖(Histogram):是用一系列等寬不等高的長方形來繪制,寬度表示數(shù)據(jù)范圍的間隔,高度表示在給定間隔內(nèi)數(shù)據(jù)出現(xiàn)的頻數(shù),變化的高度形態(tài)表示數(shù)據(jù)的分布情況。
用來查看數(shù)據(jù)的頻率文章來源:http://www.zghlxwxcb.cn/news/detail-455859.html
hist(x,color,bins,cumulative=False)
x 需要進行繪制的向量
color 直方圖填充的顏色
bins 設(shè)置直方圖的分組個數(shù)
cumulative 設(shè)置是否累積計數(shù),默認是False
df2= pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\09電動1.xls')
plt.hist(df2.C語言程序設(shè)計,bins=10,color='g',cumulative=False)
plt.hist(df2.C語言程序設(shè)計,bins=10,color='g',cumulative=True)
cumulative=False
cumulative=True
bins=20文章來源地址http://www.zghlxwxcb.cn/news/detail-455859.html
到了這里,關(guān)于【Python數(shù)據(jù)處理篇——DataFrame數(shù)據(jù)可視化】餅圖、散點圖、折線圖、柱形圖、直方圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!