欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?用matplotlib繪制折線圖詳情

 更新時(shí)間:2021年12月01日 09:30:22   作者:盆友圈的小可愛  
這篇文章主要講訴了python?用matplotlib繪制折線圖的詳細(xì)內(nèi)容,眾所周知,matplotlib?是一款功能強(qiáng)大開源的數(shù)據(jù)可視化模塊,憑借著強(qiáng)大的擴(kuò)展性構(gòu)建出更高級(jí)別的繪圖工具接口如seaborn、ggplot,下面我們就根據(jù)之前兩篇文章基礎(chǔ)掌握折線圖的繪制,需要的朋友可以參考一下

復(fù)習(xí)回顧:
眾所周知,matplotlib 是一款功能強(qiáng)大開源的數(shù)據(jù)可視化模塊,憑借著強(qiáng)大的擴(kuò)展性構(gòu)建出更高級(jí)別的繪圖工具接口如seaborn、ggplot。我們來看看往期學(xué)習(xí)章節(jié)內(nèi)容概述吧~

  • matplotlib 模塊基礎(chǔ)知識(shí):對(duì)matplotlib模塊具有便利的交互新創(chuàng)建圖表、多種圖表定制以及強(qiáng)大的可擴(kuò)展性,matplotlib可滿足不同用戶的使用,初次體驗(yàn)繪制圖表功能
  • matplotlib 模塊底層原理:matplotlib 模塊包含腳本層、美工層及后端層,對(duì)各個(gè)層相關(guān)提供的操作進(jìn)行學(xué)習(xí)

matplotlib 官網(wǎng)教程中,可以繪制諸如折線圖、柱狀圖、餅圖等常規(guī)圖外,還有可以繪制動(dòng)態(tài)圖、散點(diǎn)圖、等高線圖、帽子圖、多個(gè)子圖等

接下來,我們將繼續(xù)學(xué)習(xí)matplotlib 圖表繪制具體的功能實(shí)操,掌握針對(duì)不同圖表的繪制

1. 折線圖概述

1.1什么是折線圖?

  • 折線圖是在坐標(biāo)中通過線條升降的方式展示隨著某種變化而變化的連續(xù)性數(shù)據(jù)
  • 通過折線的起伏表示數(shù)據(jù)的增減變化的情況
  • 折線圖可以拆分為動(dòng)態(tài)折線圖、依存關(guān)系折線圖和次數(shù)分布折線圖

1.2折線圖使用場(chǎng)景

折線圖自身的線條的變化,可以在圖表中清晰讀取到數(shù)據(jù)變化情況,可以運(yùn)用的場(chǎng)景特點(diǎn)如下

  • 描繪統(tǒng)計(jì)事項(xiàng)總體指標(biāo)的動(dòng)態(tài)
  • 研究對(duì)象間的依存關(guān)系
  • 總體中各個(gè)部分的分配情況
  • 適合大量數(shù)據(jù)展示其趨勢(shì)變化

1.3繪制折線圖步驟

  • 導(dǎo)入matplotlib.pyplot模塊
  • 準(zhǔn)備數(shù)據(jù),可以使用numpy/pandas整理數(shù)據(jù)
  • 調(diào)用pyplot.plot()繪制折線圖

1.4案例展示

接下來我們使用折線圖來展示從 10份 所有文章訪問量數(shù)據(jù)展示

所有的案例用到的數(shù)據(jù)如下:

import random


x_data = ["10月{}日".format(i+1) for i in range(30)]

y_view = [random.randint(50,200) for i in range(30)]

展示10月份數(shù)據(jù)折線圖:

  import matplotlib.pyplot as plt
 import random


 plt.rcParams["font.sans-serif"]=['SimHei']
 plt.rcParams["axes.unicode_minus"]=False

 x_data = ["10月{}日".format(i+1) for i in range(30)]

 y_view = [random.randint(50,200) for i in range(30)]

 plt.figure(figsize=(20,5),dpi=90)

 plt.plot(x_data,y_view)

 plt.xticks(rotation=45)
 plt.title("訪問量分析")
 plt.xlabel("日期")
 plt.ylabel("訪問量")

 plt.show()

2. 折線2D屬性

2.1linestyle:折線樣式

屬性值 說明
"-" 、"solid" 默認(rèn)實(shí)線顯示
"--"、"dashed" 虛線
"-." "dashdot" 點(diǎn)劃線
":"、"dotted" 虛線
"None" """"

2.2color:折線顏色

顏色簡(jiǎn)稱:

屬性值 說明 屬性值 說明
"b"/"bule" 藍(lán)色 "m"/"magenta" 品紅
"g" /"green" 綠色 "y"/"yellow" 黃色
"r"/"red" 紅色 "k"/"black" 黑色
"c"/"cyan" 青色 "w"/"white" 白色

rgb

  • 格式形式:(r,g,b) 或者(r,g,b,a)
  • 取值范圍:r,g,b,a 取值范圍在[0,1]之間
  • [0,1]之間的浮點(diǎn)數(shù)的字符串形式,0表示黑色,1表示白色

2.3marker:坐標(biāo)值標(biāo)記

  • marker 標(biāo)記物通常在折線圖plot、散點(diǎn)圖scatter和誤差圖errorbar上應(yīng)用
  • marker 提供多達(dá)40個(gè)標(biāo)記的樣式可供選擇,具體詳情看見marker官方說明
  • marker 在圖表中常用的有如下:

屬性值 說明 屬性值 說明
"o" ??圓圈標(biāo)記 "8" 八邊形
"v" ??倒三角標(biāo)記 "s" ??正方形標(biāo)記
"^" ??正三角標(biāo)記 "*" ?星號(hào)
"<" ??左三角標(biāo)記 "+" ?加號(hào)
">" ??右三角標(biāo)記 "x" X星星
"1" 向下Y標(biāo)記 "D" ??鉆石標(biāo)記
"2" 向上Y標(biāo)記 " "
"3" 向左Y標(biāo)記 "_" _水平線標(biāo)記
"4" 向右Y標(biāo)記 "p" ?五角星標(biāo)記

標(biāo)記還提供其他方法
  • markeredgecolor:標(biāo)記邊界顏色
  • markeredgewidth:標(biāo)記寬度
  • markfacecorlor:標(biāo)記填充色
  • markersize:標(biāo)記大小

2.4fillstyle:標(biāo)記填充方法

屬性值 說明
"full" 整個(gè)標(biāo)記
"left" 左邊標(biāo)記一半
"right" 右邊標(biāo)記一半
"bottom" 底部標(biāo)記一半
"top" 頂部標(biāo)記一半
"none" 無填充

2.5linewidth(lw): 直線寬度

對(duì)第一節(jié)案例添加直線屬性:虛線表示,坐標(biāo)用綠色左半填充圈標(biāo)記

#

 直線屬性
plt.plot(x_data,y_view,linestyle="--"
,marker="o",markeredgecolor="g",fillstyle="left")

更多屬性:
matplotlib官網(wǎng)對(duì)直線2D屬性有更多的介紹

3. 坐標(biāo)管理

3.1坐標(biāo)軸名字設(shè)置

  • 設(shè)置X軸名稱:pyplot.xlabel(str)
  • 設(shè)置y軸名稱:pyplot.ylabel(str)

3.2坐標(biāo)軸刻度設(shè)置

  • x軸坐標(biāo)刻度設(shè)置:pyplot.xticks(ticks=[],rotation)
  • y軸坐標(biāo)刻度設(shè)置:pyplot.yticks(ticks=[],rotation)

參數(shù)說明:

  • ticks:列表類型,表示x軸范圍
  • rotation:翻轉(zhuǎn)角度

3.3坐標(biāo)軸位置設(shè)置

  • 坐標(biāo)軸位置設(shè)置需要通過pyplot.gca()先獲取當(dāng)前的Axes
  • 然后調(diào)用ax.spines[].set_position()設(shè)置位置
  • ax.spines['bottom'].set_position(('axes',0.5)) 表示將x軸設(shè)置在y軸50%處

3.4指定坐標(biāo)值標(biāo)注

pyplot.annotate() 展示指定坐標(biāo)點(diǎn)的(x,y)值

用接口參數(shù)說明:

參數(shù) 說明
txt 展示的文本
xy 注釋的(x,y)
xytext xy展示的文本
color 展示的文本顏色

繼續(xù)改造第一節(jié)案例:標(biāo)記出最大訪問,y軸移到x軸中心

max_id = np.argmax(y_view)


show_max = '['+str(x_data[max_id])+','+str(y_view[max_id])+']'


plt.figure(figsize=(20,5),dpi=90)

ax= plt.gca()

ax.spines["left"].set_position(('axes',0.5))

plt.plot(x_data,y_view,linestyle="--",marker="o",markeredgecolor="g",fillstyle="left")

plt.xticks(ticks=np.arange(0,30),rotation=60)

plt.annotate(show_max, xy=(x_data[max_id],y_view[max_id] ), xytext=(x_data[max_id],y_view[max_id]), color='r')

4. 多條折線展示圖

在一個(gè)圖表中,我們可以多次調(diào)用plot()繪制多條折線展示在同一個(gè)表格中

 ```python
star_view = [random.randint(100,200) for i in range(30)]

plt.plot(x_data,y_view,linestyle="--",marker="o",markeredgecolor="g",fillstyle="left")
plt.plot(x_data,star_view,linestyle="-",marker="s",markeredgecolor="r",fillstyle="right")
```
   

5. 圖列管理

當(dāng)一個(gè)圖表中存在多個(gè)折線圖時(shí),我們需要使用圖例管理來對(duì)每個(gè)折線代表對(duì)象

  1. pyplot.legend(loc): 對(duì)圖表中折線進(jìn)行說明
  2. loc參數(shù)屬性值:

屬性 代碼 屬性 代碼
'best' 0 'right' 5
'upper right' 1 'center left' 6
'upper left' 2 'center right' 7
'lower left' 3 'lower center' 8
'lower right' 4 'upper center' 9
'center' 10

label屬性,注釋每條折線的對(duì)象

plt.plot(x_data,y_view,linestyle="--",marker="o",markeredgecolor="g",fillstyle="left",label="all")
plt.plot(x_data,star_view,linestyle="-",marker="s",markeredgecolor="r",fillstyle="right",label="star")

plt.legend()

總結(jié):
本文?我們對(duì)matplotlib 模塊 折線圖plot()相關(guān)方法和屬性進(jìn)行,大家在平時(shí)工作中可以多多實(shí)踐,折線圖還是用的比較多的

到此這篇關(guān)于python 用matplotlib繪制折線圖詳情的文章就介紹到這了,更多相關(guān)python matplotlib繪制折線圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python加載數(shù)據(jù)的5種不同方式(收藏)

    Python加載數(shù)據(jù)的5種不同方式(收藏)

    這篇文章主要介紹了Python加載數(shù)據(jù)的5種不同方式(收藏),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python中自帶的三個(gè)裝飾器的實(shí)現(xiàn)

    python中自帶的三個(gè)裝飾器的實(shí)現(xiàn)

    這篇文章主要介紹了python中自帶的三個(gè)裝飾器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python 幾行代碼即可實(shí)現(xiàn)人臉識(shí)別

    Python 幾行代碼即可實(shí)現(xiàn)人臉識(shí)別

    Python中實(shí)現(xiàn)人臉識(shí)別功能有多種方法,依賴于python膠水語言的特性,我們通過調(diào)用包可以快速準(zhǔn)確的達(dá)成這一目的,本文給大家分享使用Python實(shí)現(xiàn)簡(jiǎn)單的人臉識(shí)別功能的操作步驟,感興趣的朋友一起看看吧
    2022-02-02
  • python集合用法實(shí)例分析

    python集合用法實(shí)例分析

    這篇文章主要介紹了python集合用法,較為詳細(xì)的分析了Python中集合的常見用法,需要的朋友可以參考下
    2015-05-05
  • Pyinstaller打包Scrapy項(xiàng)目的實(shí)現(xiàn)步驟

    Pyinstaller打包Scrapy項(xiàng)目的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Pyinstaller打包Scrapy項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python 解析html之BeautifulSoup

    python 解析html之BeautifulSoup

    項(xiàng)目里需要解析html,采用python語言實(shí)現(xiàn),發(fā)現(xiàn)了BeautifulSoup這個(gè)好用的東西,寫了一個(gè)程序,可能大家不知道,干什么用的,目的是讓大家知道如何使用 BeautifulSoup 當(dāng)然我這個(gè)是用都是很初級(jí)的,高級(jí)的使用,偶也沒有學(xué)會(huì)呢,太高深了
    2009-07-07
  • Python將內(nèi)容進(jìn)行base64編碼與解碼實(shí)現(xiàn)

    Python將內(nèi)容進(jìn)行base64編碼與解碼實(shí)現(xiàn)

    本文主要介紹了Python將內(nèi)容進(jìn)行base64編碼與解碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 詳解Python locals()的陷阱

    詳解Python locals()的陷阱

    這篇文章主要介紹了詳解Python locals()的陷阱,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • Python數(shù)據(jù)分析之PMI數(shù)據(jù)圖形展示

    Python數(shù)據(jù)分析之PMI數(shù)據(jù)圖形展示

    這篇文章主要介紹了Python數(shù)據(jù)分析之PMI數(shù)據(jù)圖形展示,文章介紹了簡(jiǎn)單的python爬蟲,并使用numpy進(jìn)行了簡(jiǎn)單的數(shù)據(jù)處理,最終使用?matplotlib?進(jìn)行圖形繪制,實(shí)現(xiàn)了直觀的方式展示制造業(yè)和非制造業(yè)指數(shù)圖形,需要的朋友可以參考一下
    2022-05-05
  • Python爬蟲 批量爬取下載抖音視頻代碼實(shí)例

    Python爬蟲 批量爬取下載抖音視頻代碼實(shí)例

    這篇文章主要介紹了Python爬蟲 批量爬取下載抖音視頻代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論