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

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

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

Matplotlib簡述:

Matplotlib是一個用于創(chuàng)建出高質(zhì)量圖表的桌面繪圖包(主要是2D方面)。該項目是由JohnHunter于2002年啟動的,其目的是為Python構(gòu)建一個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ù)。其中分類結(jié)果作為文件的第四列,并且只有3、2、1三種分類值。

飛行里程數(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ù),必須確保待解析文件存儲在當(dāng)前的工作目錄中。導(dǎo)入數(shù)據(jù)之后,簡單檢查一下數(shù)據(jù)格式:

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

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

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()

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

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

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

上圖利用datingLabels存儲的類標(biāo)簽屬性,在散點圖上繪制了色彩不等、尺寸不同的點。因而基本上可以從圖中看到數(shù)據(jù)點所屬三個樣本分類的區(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é)

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    python 讀取DICOM頭文件的實例

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

    python3連接MySQL8.0的兩種方式

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

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

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

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

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

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

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

最新評論

东乌珠穆沁旗| 新宁县| 长治县| 通山县| 璧山县| 收藏| 忻州市| 诸暨市| 襄城县| 信丰县| 郸城县| 沈阳市| 崇信县| 英山县| 南丰县| 建湖县| 板桥市| 丰宁| 昭苏县| 荣昌县| 敦化市| 行唐县| 共和县| 高州市| 克什克腾旗| 焦作市| 临城县| 綦江县| 行唐县| 溆浦县| 青海省| 和平区| 中牟县| 吉木萨尔县| 杭锦后旗| 涿州市| 响水县| 崇州市| 观塘区| 新民市| 和龙市|