日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

matplotlib 显示批量图片_chapter4-1 简单数据可视化包Matplotlib整理1

發(fā)布時間:2024/9/19 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matplotlib 显示批量图片_chapter4-1 简单数据可视化包Matplotlib整理1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Matplotlib是Python數(shù)據(jù)可視化最簡單常用的包之一,筆者希望通過本篇文章和之后的常用技巧補充,將自己在科研和工作中積累和摘抄的數(shù)據(jù)可視化包使用經(jīng)驗和技巧筆記展示大家~

本部分技巧知識點主要包括:

  • 簡單圖形的選用/畫圖方法/matplotlib圖形結(jié)構(gòu);
  • 繪制折線/圖片大小設(shè)置/設(shè)置刻度/中文顯示【尤其坐標(biāo)軸和標(biāo)題】/一圖多線【plt.legdend】/;
  • 記得評論區(qū)一鍵三連(評論、收藏、轉(zhuǎn)發(fā))吆!!!


    一、Matplotlib簡介

    Matplotlib 是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。通過 Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。

    1.1 簡單圖形的選用

    • 折線圖:以折線的上升和下降表示統(tǒng)計量的增減變化的統(tǒng)計圖。
    • 特點:能夠顯示數(shù)據(jù)的變化趨勢,反映事物的變化情況(變化)
    • 散點圖:用兩組數(shù)據(jù)構(gòu)成多個坐標(biāo)點,考察坐標(biāo)點的分布,判斷兩變量之間是否存在某種關(guān)聯(lián)關(guān)系或總結(jié)坐標(biāo)點的分布模式。
    • 特點:判斷變量之間是否存在數(shù)量關(guān)聯(lián)趨勢,展示離群點(分布規(guī)律)
    • 直方圖:由一系列高度不等的縱向條紋或者線段表示數(shù)據(jù)分布的情況。一般用橫軸表示數(shù)據(jù)范圍,縱軸表示分布情況。
    • 特點:繪制連續(xù)性的數(shù)據(jù)展示一組或者多組數(shù)據(jù)的分布情況(統(tǒng)計)。
    • 餅圖:用于表示不同分類的占比情況,通過弧度大小來對比各種分類。
    • 特點:分類數(shù)據(jù)的占比情況(占比)。

    1.2 簡單畫圖方法

    • plt.plot(x,y)這后面跟著x和y值;x可以放多個點;

    • 圈起來的部分的兩個列表分別是x和y,多個值是x1,x2,x3;列表中值的個數(shù)要一致;
    • jupyter notebook第一次運行并不能運行出來畫圖,需要加上一句%matplotlib inline,不然要在同一個單元格上運行兩遍才能出來;

    1.3 matplotlib圖形結(jié)構(gòu)

    • canvas類似畫板,figure對象類似畫布,繪制多個坐標(biāo)系,就是axes


    二、具體畫圖操作

    2.1 繪制折線

    • marker折點樣式;markeredgecolor='g'折點顏色;markeredgewidth=25折點大小;

    2.2 圖片大小設(shè)置

    • 加上這一句:plt.figure(figsize=(20,8))分別表示寬和高;dpi表示分辨率(每一英寸上有個像素點),大小是英寸;
    • 保存在當(dāng)前目錄下:plt.savefig('./t1.png');
    • 如果show放在save之前容易出錯,show放在save最后最好,圖片存為.svg格式作為矢量圖,放大后,邊緣不會有鋸齒;

    2.3 設(shè)置刻度

    • 最好的設(shè)置方式:
    plt.xticks(range(1,25)) plt.yticks(range(min(y),max(y)+1))加1為了避免不顯示最后一個值;
    • 刻度標(biāo)簽:把刻度標(biāo)簽變成想要的“幾月份”【注意是有x,x_ticks_label兩個參數(shù)】

    • 為了避免過長的坐標(biāo)文字重合用這句:rotation=45可以變傾斜;

    • 最后橫縱軸實現(xiàn)了這種效果:比上面兩種好看

    2.4 為了中文能夠顯示出來【尤其坐標(biāo)軸和標(biāo)題】

    #添加字體關(guān)鍵句 from matplotlib import font_manager my_font = font_manager.FontProperties(fnmae=r'C:WindowsFontsarial.ttc',size=18)plt.xlabel('time') plt.ylabel('count')plt.title('時間/次數(shù)',fontproperties=my_font,color='red')

    2.5 一圖多線【plt.legdend】

    2.6 總結(jié)【幾個參數(shù)設(shè)置】


    三、Matplotlib簡單繪圖拓展

    3.1一圖多個子坐標(biāo)系

    • 兩行兩列第一個圖2,2,1

    3.2 設(shè)置x軸,y軸坐標(biāo)范圍

    3.3 設(shè)置邊框位置和形式

    3.4 改變坐標(biāo)軸的默認(rèn)顯示方式

    3.5畫餅狀圖

    3.6 累積條形圖【畫上下兩條和左右兩條】

    3.7 小總結(jié)

    3.8 箱型圖

    #首先看一段例子:import pandas as pd from pandas import DataFrame,Series df = DataFrame(np.random.randn(10, 2), columns=['Col1', 'Col2']) boxplot=df.boxplot()

    通過boxplot方法,我們直接得到了箱型圖。 boxplot方法官方介紹如下: DataFrame.boxplot(column=None, by=None, ax=None, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, **kwds)
    • 方法說明

    boxplot方法只是用于DataFrame,Series對象沒有此方法

    • 參數(shù)說明
    column,默認(rèn)為None,輸入為str 或由str構(gòu)成的list,其作用是指定要進(jìn)行箱型圖分析的列 by,默認(rèn)為None,str or array-like,其作用為pandas的group by,通過指定by=‘columns’,可進(jìn)行多組合箱型圖分析 ax,matplotlib.axes.Axes的對象,沒有太大作用 fontsize,箱型圖坐標(biāo)軸字體大小 rot,箱型圖坐標(biāo)軸旋轉(zhuǎn)角度 grid,箱型圖網(wǎng)格線是否顯示 figsize,箱型圖窗口尺寸大小 layout,必須配合by 一起使用,類似于subplot 的畫布分區(qū)域功能 return_type,指定返回對象的類型,默認(rèn)為None,可輸入的參數(shù)為‘a(chǎn)xes’,‘dict’,‘both’,當(dāng)與by一起使用是,返回的對象為Series或array(for return_type = None)
    • 箱型圖返回結(jié)果說明:

    當(dāng)指定return_type=‘dict’時,其結(jié)果值為一個字典,字典索引為固定的'whiskers'、'caps'、'boxes'、'fliers'、'means'

    boxplot=df.boxplot(return_type='dict') boxplot Out[132]: {'whiskers': [<matplotlib.lines.Line2D at 0x26b61ec81d0>, <matplotlib.lines.Line2D at 0x26b61ec8668>, <matplotlib.lines.Line2D at 0x26b61ec6f98>, <matplotlib.lines.Line2D at 0x26b61b7d400>], 'caps': [<matplotlib.lines.Line2D at 0x26b61ec8a90>, <matplotlib.lines.Line2D at 0x26b61ec8eb8>, <matplotlib.lines.Line2D at 0x26b61b7d828>, <matplotlib.lines.Line2D at 0x26b61b7dc50>], 'boxes': [<matplotlib.lines.Line2D at 0x26b61ec8080>, <matplotlib.lines.Line2D at 0x26b61ec6b38>], 'medians': [<matplotlib.lines.Line2D at 0x26b61ec6320>, <matplotlib.lines.Line2D at 0x26b61b560b8>], 'fliers': [<matplotlib.lines.Line2D at 0x26b61ec6748>, <matplotlib.lines.Line2D at 0x26b61b564e0>], 'means': []}
    • 此時,通過指定索引值獲取相應(yīng)數(shù)據(jù)
    boxplot['fliers'][1].get_xdata() Out[137]: array([2.]) boxplot['fliers'][1].get_ydata() Out[138]: array([1.79881989]) 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的matplotlib 显示批量图片_chapter4-1 简单数据可视化包Matplotlib整理1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。