日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

  • 簡單圖形的選用/畫圖方法/matplotlib圖形結構;
  • 繪制折線/圖片大小設置/設置刻度/中文顯示【尤其坐標軸和標題】/一圖多線【plt.legdend】/;
  • 記得評論區一鍵三連(評論、收藏、轉發)吆!!!


    一、Matplotlib簡介

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

    1.1 簡單圖形的選用

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

    1.2 簡單畫圖方法

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

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

    1.3 matplotlib圖形結構

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


    二、具體畫圖操作

    2.1 繪制折線

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

    2.2 圖片大小設置

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

    2.3 設置刻度

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

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

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

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

    #添加字體關鍵句 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('時間/次數',fontproperties=my_font,color='red')

    2.5 一圖多線【plt.legdend】

    2.6 總結【幾個參數設置】


    三、Matplotlib簡單繪圖拓展

    3.1一圖多個子坐標系

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

    3.2 設置x軸,y軸坐標范圍

    3.3 設置邊框位置和形式

    3.4 改變坐標軸的默認顯示方式

    3.5畫餅狀圖

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

    3.7 小總結

    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對象沒有此方法

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

    當指定return_type=‘dict’時,其結果值為一個字典,字典索引為固定的'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': []}
    • 此時,通過指定索引值獲取相應數據
    boxplot['fliers'][1].get_xdata() Out[137]: array([2.]) boxplot['fliers'][1].get_ydata() Out[138]: array([1.79881989]) 與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。