一.散點圖

  • 在Python中進行可視化晶疼,我們需要的是這些庫:

    • matplotlib:python中自帶的,也是最常用的可視化工具包笑撞,在Jupyter中甚至可以找到matplotlib的網(wǎng)站
    • seaborn:python中可視化的新起之秀棒仍,致力于統(tǒng)計數(shù)據(jù)可視化
    • brewer2mpl:brewer2mpl是一個專供python使用的藕畔,用于訪問colorbrewer2色譜的工具川蒙,colorbrewer2是一個專業(yè)顏色顧問公司还最。
  • 假設(shè)我有一個數(shù)據(jù)探索,我想了解下人口和面積的關(guān)系韭邓,是不是面積越大澎埠,人口數(shù)量就是越大虽缕?還是面積在一個指定的區(qū)間內(nèi),人口數(shù)量才是最多的蒲稳,如果是氮趋,那么這個區(qū)間是多少呢?對于下圖江耀,我們是如何畫出來的呢剩胁?[圖片上傳失敗...(image-b35bd1-1587003130440)]
    2020041501.png
# 查看必要庫的版本
import sys
import matplotlib as mlp
import seaborn as sns
import brewer2mpl 


print(mlp.__version__)
print(sns.__version__)
print(sys.version)

散點圖

  • 散點圖是用于觀測兩兩變量祝賀構(gòu)成的相關(guān)關(guān)系的直觀展現(xiàn),從圖中我們可以看出兩變量的相關(guān)性及其中的線性或非線性的變化規(guī)律祥国。
  • 常用的畫散點圖函數(shù)scatte()
# 導(dǎo)入需要的繪圖

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

# 解決中文顯示問題
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#繪制超簡單的散點圖:變量x1與x2的關(guān)系

#定義橫軸和縱軸數(shù)據(jù)
x1 = np.random.randn(10)
x2 = x1 + x1**2 - 10

#確定畫布舌稀,參數(shù)figsize(width, height)
plt.figure(figsize=(8,3))

#繪圖
plt.scatter(x1,x2,                    # 橫坐標啊犬,縱坐標
            s=50,                    # 數(shù)據(jù)點的尺寸大小
            c="red",                # 數(shù)據(jù)點的顏色
            label = "Red Points"   # 標簽
           )

#裝飾圖形
plt.legend() #顯示圖例,和scatter函數(shù)的label參數(shù)標簽聯(lián)用
plt.show() #讓圖形顯示
2020041502.png
# 如果我們希望顯示多種顏色的散點圖,并且這個顏色是我們的標簽y所代表的分類
# 思路:每次畫同類標簽的散點圖


#確立顏色列表
colors = ["red","black"]
#確立標簽的類別列表
labels = ["負樣本","正樣本"] 

for i in range(2):
    plt.scatter(X[y==i,0],   # 橫坐標
                X[y==i,1],   # 縱坐標
                c=colors[i], # 顏色
                label = labels[i])
plt.legend()
plt.show()
2020041503.png
# 如何畫一張多分類的散點圖呢壁查?

#導(dǎo)入數(shù)據(jù)
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

#探索數(shù)據(jù)
print(midwest.shape)
print(midwest.columns)

midwest.head(3)
# 豐富我們的圖像

# 預(yù)設(shè)圖像的各種屬性
large = 22; med = 16; small = 12
params = {'axes.titlesize': large,           #子圖上的標題字體大小
          'legend.fontsize': med,           #圖例的字體大小
          'figure.figsize': (16, 10),      #圖像的畫布大小
          'axes.labelsize': med,          #標簽的字體大小
          'xtick.labelsize': med,        #x軸上的標尺的字體大小
          'ytick.labelsize': med,       #y軸上的標尺的字體大小
          'figure.titlesize': large}   #整個畫布的標題字體大小
plt.rcParams.update(params)           #設(shè)定各種各樣的默認屬性
plt.style.use('seaborn-whitegrid')   #設(shè)定整體風(fēng)格
sns.set_style("white")              #設(shè)定整體背景風(fēng)格


# 準備標簽列表和顏色列表
categories = np.unique(midwest['category'])
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]

# 建立畫布
plt.figure(figsize=(16, 10),    #繪圖尺寸
           dpi=100,            #圖像分辨率
           facecolor='w',     #圖像的背景顏色椒惨,設(shè)置為白色,默認也是白色
           edgecolor='k'     #圖像的邊框顏色潮罪,設(shè)置為黑色康谆,默認也是黑色
          )

# 循環(huán)繪圖
# 我們可以輸入橫縱坐標领斥,也可以輸入橫縱坐標的名字,然后使用data這個參數(shù)來傳入全數(shù)據(jù)集
for i, category in enumerate(categories):
    plt.scatter('area', 'poptotal', 
                data=midwest.loc[midwest.category==category, :], 
                s=20, 
                c=np.array(colors[i]).reshape(1,-1), 
                # c=np.array(plt.cm.tab10(i/len(categories))).reshape(1,-1),
                label=str(category))


# 對圖像進行裝飾
# plt.gca() 獲取當(dāng)前的子圖沃暗,如果當(dāng)前沒有任何子圖的話月洛,就幫我創(chuàng)建一個新的子圖
plt.gca().set(xlim=(0, 0.12), ylim=(0, 80000)) #控制橫縱坐標的范圍
plt.xticks(fontsize=12)                       #坐標軸上的標尺的字的大小
plt.yticks(fontsize=12)
plt.ylabel('Population',fontsize=22)         # 坐標軸上的標題和字體大小
plt.xlabel('Area',fontsize=22)
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22) #整個圖像的標題和字體的大小
plt.legend(fontsize=12)                    #圖例的字體大小
plt.show()
2020041501.png
# 分析數(shù)據(jù)

plt.figure(figsize=(16, 10),     # 繪圖尺寸
           dpi=60,               # 圖像分辨率
           facecolor='w',       # 圖像的背景顏色,設(shè)置為白色孽锥,默認也是白色
           edgecolor='k'       # 圖像的邊框顏色嚼黔,設(shè)置為黑色,默認也是黑色
          )

#進行循環(huán)繪圖
for i, category in enumerate(categories):
    plt.scatter('area', 'poptotal', 
                data=midwest.loc[midwest.category==category, :],
                s=20, c=np.array(plt.cm.tab10(i/float(len(categories)-1))).reshape(1,-1),label=str(category))

#高學(xué)歷惜辑,低貧困的地方
plt.scatter("area","poptotal",
           data = midwest.loc[midwest.category == "HLU",:],
            s=300,
            facecolors="None",  # 點的填充顏色
            edgecolors="red",   # 點的邊框顏色
            label = "Selected")

#對圖像進行裝飾
plt.gca().set(xlim=(0.0, 0.12), ylim=(0, 90000)) #控制橫縱坐標的范圍
plt.xticks(fontsize=12) #坐標軸上的標尺的字的大小
plt.yticks(fontsize=12)
plt.ylabel('Population',fontsize=22) #坐標軸上的標題和字體大小
plt.xlabel('Area',fontsize=22)
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22) #整個圖像的標題和字體的大小
plt.legend(fontsize=12) #圖例的字體大小
plt.show()
2020041504.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唬涧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盛撑,更是在濱河造成了極大的恐慌碎节,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抵卫,死亡現(xiàn)場離奇詭異狮荔,居然都是意外死亡,警方通過查閱死者的電腦和手機介粘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門殖氏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姻采,你說我怎么就攤上這事雅采。” “怎么了慨亲?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵婚瓜,是天一觀的道長。 經(jīng)常有香客問我巡雨,道長闰渔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任铐望,我火速辦了婚禮冈涧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘正蛙。我一直安慰自己督弓,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布乒验。 她就那樣靜靜地躺著愚隧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锻全。 梳的紋絲不亂的頭發(fā)上狂塘,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天录煤,我揣著相機與錄音,去河邊找鬼荞胡。 笑死妈踊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泪漂。 我是一名探鬼主播廊营,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼萝勤!你這毒婦竟也來了露筒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤敌卓,失蹤者是張志新(化名)和其女友劉穎慎式,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體假哎,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡瞬捕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年鞍历,在試婚紗的時候發(fā)現(xiàn)自己被綠了舵抹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡劣砍,死狀恐怖惧蛹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刑枝,我是刑警寧澤香嗓,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站装畅,受9級特大地震影響靠娱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掠兄,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一像云、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚂夕,春花似錦迅诬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至等脂,卻和暖如春俏蛮,著一層夾襖步出監(jiān)牢的瞬間撑蚌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工搏屑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锨并,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓睬棚,卻偏偏與公主長得像第煮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子抑党,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

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