最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點(diǎn)圖代碼示例

 更新時(shí)間:2017年12月09日 09:47:28   作者:kekezhai  
這篇文章主要介紹了Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點(diǎn)圖實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。

Matplotlib簡(jiǎn)述:

Matplotlib是一個(gè)用于創(chuàng)建出高質(zhì)量圖表的桌面繪圖包(主要是2D方面)。該項(xiàng)目是由JohnHunter于2002年啟動(dòng)的,其目的是為Python構(gòu)建一個(gè)MATLAB式的繪圖接口。如果結(jié)合PythonIDE使用比如PyCharm,matplotlib還具有諸如縮放和平移等交互功能。它不僅支持各種操作系統(tǒng)上許多不同的GUI后端,而且還能將圖片導(dǎo)出為各種常見的矢量(vector)和光柵(raster)圖:PDF、SVG、JPG、PNG、BMP、GIF等。此外,matplotlib還有許多插件工具集,如用于3D圖形的mplot3d以及用于地圖和投影的basemap。

準(zhǔn)備數(shù)據(jù):從文本文件中解析數(shù)據(jù)

本文使用的數(shù)據(jù)主要包含以下三種特征:每年獲得的飛行??屠锍虜?shù),玩視頻游戲所耗時(shí)間百分比,每周消費(fèi)的冰淇淋公升數(shù)。其中分類結(jié)果作為文件的第四列,并且只有3、2、1三種分類值。

飛行里程數(shù)  游戲耗時(shí)百分比  冰淇淋公升數(shù)  分類結(jié)果
 40920  8.326976  0.953952  3
 14488  7.153469  1.673904  
 26052  1.441871  0.805124  1
......  ......  ......  ......

上述特征數(shù)據(jù)的格式經(jīng)過file2matrix函數(shù)解析處理之后,可輸出為矩陣和類標(biāo)簽向量。

將文本記錄轉(zhuǎn)換為Numpy的解析程序:

使用file2matrix讀取文件數(shù)據(jù),必須確保待解析文件存儲(chǔ)在當(dāng)前的工作目錄中。導(dǎo)入數(shù)據(jù)之后,簡(jiǎn)單檢查一下數(shù)據(jù)格式:

分析數(shù)據(jù):使用Matplotlib創(chuàng)建散點(diǎn)圖

編輯kNN.py文件,引入matplotlib,調(diào)用matplotlib的scatter繪制散點(diǎn)圖。

import matplotlib
import matplotlib.pyplot as plt
def file2matrix(filename):
......
return returnMat,classLabelVector
datingDataMat,datingLabels = file2matrix('datingTestSet2.txt')
fig = plt.figure()
ax = fig.add_subpot(111)
ax.scatter(datingDataMat[:,1],datingDataMat[:,2])
plt.show()

散點(diǎn)圖使用datingDataMat矩陣的第二、第三列數(shù)據(jù),分別表示特征值“玩視頻游戲所耗時(shí)間百分比”和“每周消費(fèi)的冰淇淋公升數(shù)”。

上圖由于沒有使用樣本分類的特征值,很難看到任何有用的數(shù)據(jù)模式信息。為了更好理解數(shù)據(jù)信息,Matplotlib庫提供的scatter函數(shù)支持個(gè)性化標(biāo)記散點(diǎn)圖上的點(diǎn)。調(diào)用scatter函數(shù)使用下列參數(shù):

ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15.0*array(datingLabels),15.0*array(datingLabels))
plt.show()

上圖利用datingLabels存儲(chǔ)的類標(biāo)簽屬性,在散點(diǎn)圖上繪制了色彩不等、尺寸不同的點(diǎn)。因而基本上可以從圖中看到數(shù)據(jù)點(diǎn)所屬三個(gè)樣本分類的區(qū)域輪廓。為了得到更好的效果,采用datingDataMat矩陣的屬性列1和2展示數(shù)據(jù),并以紅色的'*'表示類標(biāo)簽1、藍(lán)色的'o'表示表示類標(biāo)簽2、綠色的'+'表示類標(biāo)簽3,修改參數(shù)如下:

import numpy as np
......
datingLabels = array(datingLabels)
idx_1 = np.where(datingLabels==1)
p1 = ax.scatter(datingDataMat[idx_1,0],datingDataMat[idx_1:,1],market = '*',color = 'r',label='1',s=20
idx_2 = np.where(datingLabels==2)
p2 = ax.scatter(datingDataMat[idx_2,0],datingDataMat[idx_2:,1],market = 'o',color ='b',label='1',s=10
idx_3 = np.where(datingLabels==3)
p3 = ax.scatter(datingDataMat[idx_3,0],datingDataMat[idx_3:,1],market = '+',color ='g',label='1',s=30
plt.legend(loc = 'upper right')
plt.show()

總結(jié)

本文簡(jiǎn)單介紹了Matplotlib,并以實(shí)例分析了如何使用Matplotlib庫圖形化展示數(shù)據(jù),最后通過修改matplotlib的scatter函數(shù)參數(shù)使得散點(diǎn)圖的分類區(qū)域更加清晰。

希望對(duì)大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)一個(gè)優(yōu)雅的異步定時(shí)器

    使用Python實(shí)現(xiàn)一個(gè)優(yōu)雅的異步定時(shí)器

    在 Python 中實(shí)現(xiàn)定時(shí)器功能是一個(gè)常見需求,尤其是在需要周期性執(zhí)行任務(wù)的場(chǎng)景下,本文給大家介紹了基于 asyncio 和 threading 模塊,可擴(kuò)展的異步定時(shí)器實(shí)現(xiàn),需要的朋友可以參考下
    2025-04-04
  • Python趣味挑戰(zhàn)之教你用pygame畫進(jìn)度條

    Python趣味挑戰(zhàn)之教你用pygame畫進(jìn)度條

    pygame四種方法教會(huì)你畫進(jìn)度條,其實(shí)也不難,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Python蒙特卡洛算法實(shí)現(xiàn)排列組合

    Python蒙特卡洛算法實(shí)現(xiàn)排列組合

    排列組合是數(shù)學(xué)中的基本概念,也是編程中常見的問題之一,本文主要介紹了Python蒙特卡洛算法實(shí)現(xiàn)排列組合,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • 深入了解Python中pop和remove的使用方法

    深入了解Python中pop和remove的使用方法

    這篇文章主要介紹了深入了解Python中pop和remove的使用方法,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Pandas把dataframe或series轉(zhuǎn)換成list的方法

    Pandas把dataframe或series轉(zhuǎn)換成list的方法

    這篇文章主要介紹了Pandas把dataframe或series轉(zhuǎn)換成list的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python 讀取DICOM頭文件的實(shí)例

    python 讀取DICOM頭文件的實(shí)例

    今天小編就為大家分享一篇python 讀取DICOM頭文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python3連接MySQL8.0的兩種方式

    python3連接MySQL8.0的兩種方式

    這篇文章主要介紹了python3連接MySQL8.0的兩種方式,本文通過多種方式給大家介紹的非常詳細(xì),代碼附有文字注釋,需要的朋友可以參考下
    2020-02-02
  • Flask解決跨域的問題示例代碼

    Flask解決跨域的問題示例代碼

    這篇文章主要介紹了Flask解決跨域的問題示例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 使用pycharm+conda配置虛擬環(huán)境的詳細(xì)步驟

    使用pycharm+conda配置虛擬環(huán)境的詳細(xì)步驟

    這篇文章主要介紹了使用pycharm創(chuàng)建新的項(xiàng)目環(huán)境并使用conda進(jìn)行配置和使用pycharm引用已有的conda虛擬環(huán)境,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • Python 類與元類的深度挖掘 I【經(jīng)驗(yàn)】

    Python 類與元類的深度挖掘 I【經(jīng)驗(yàn)】

    super() 方法解決了類->實(shí)例實(shí)踐過程中關(guān)于命名空間的一些問題,而關(guān)于生成對(duì)象的流程,我們知道初始化實(shí)例是通過類的 __init__() 方法完成的,在此之前可能涉及到一些其它的準(zhǔn)備工作,包括接下來提到的 mro() 方法以及關(guān)鍵的元類->類的過程
    2016-05-05

最新評(píng)論

精河县| 邓州市| 综艺| 乌审旗| 荆州市| 泽库县| 西宁市| 广水市| 恭城| 岑巩县| 奉新县| 宽甸| 阜新| 郁南县| 上虞市| 玛纳斯县| 阜城县| 汕头市| 体育| 蒲城县| 宁乡县| 中西区| 朝阳县| 政和县| 巴东县| 顺昌县| 永城市| 望奎县| 南和县| 柘荣县| 翁牛特旗| 义马市| 奈曼旗| 福海县| 威信县| 镇安县| 桓台县| 客服| 米易县| 通辽市| 永寿县|