搜尋
首頁後端開發Python教學Python可視化總結之matplotlib.pyplot基本參數詳解

本篇文章為大家帶來了關於Python的相關知識,其中主要整理了matplotlib.pyplot繪圖的基本參數的相關問題,包括了figure、xlabel、grid等等內容,下面一起來看一下,希望對大家有幫助。

Python可視化總結之matplotlib.pyplot基本參數詳解

【相關推薦:Python3影片教學

1.matplotlib簡介

##matplotlib 函式庫是Python 中繪製二維和三維圖表的資料視覺化工具

特點:

    使用簡單繪圖語句實現複雜繪圖效果 
    以互動式操作實現漸進式精細的圖形效果 ## 輸出具有印刷等級的圖表、科學表達式和符號文字
    對圖表的組成元素實現精細化控制

三種繪圖介面

        pyplot:面向目前圖

        axes:物件導向

##        Pylab:以matlab 風格

#        Pylab:沿用matlab 風格

本篇文章使用plot繪圖(

展示變數的趨勢變化#)

本篇文章使用plot繪圖(

py:21庫獲得繪圖資料(隨機),最後出來的圖形並非經過仔細思考,一切以展示圖形參數為主! ! !

使用的函式庫:

import matplotlib.pyplot as plt
import numpy as np

2.圖形組成元素的函數用法

#  plot():展示變數的趨勢變化

#   使用方法:plt.plot(x, y, c,ls, lw, label, alpha, **kwargs)

       ##   y:x,y 軸上的數值

          c:設定顏色

     #   

          lw:折線圖的線寬度

          label:標記內容 

#          **kwargs:指定使用的是line2D 屬性

 

2.1. figure():

#。

##        使用方法:

figure(num=None, figsize=None, dpi=None, facecolor=None,

edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)#  

num :        如果此參數沒有提供,則一個新的figure 物件將被創建,同時增加figure 的計數數值,此數值被保存在figure 物件的一個數字屬性當中。如果有此參數,且存在對應 id 的 figure 對象,則啟動對於 id 的 figure 對象。如果對應 id 的 figur 物件不存在,則建立它並傳回它。如果num 的值是字串,則將視窗標題設定為此字串

figsize:以英吋為單位的寬高,缺省值為rc figure.figsize (1 英寸等於2.54 公分)

dpi:圖形分辨率,缺省值為rc figure.dpi

facecolor:背景色

plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.show()

 2.2 xlim()和ylim():

設定x,y 軸的數值顯示範圍

 使用方法:plt.xlim(xmin,xmax) #

        xmin:x 轴上的最小值

        xmax:x 轴上的最大值

2.3 xlabel()和 ylabel():设置 x,y 轴的标签文本

使用方法:plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox)

fontsize:数字或者(small,large,medium)  

verticalalignment:距离坐标轴的位置(top,bottom,center,baseline)  

hoizontalalignment:位置(center,right,left)  

ratation:位置(vertical,horizontal,vertical)  

bbox:添加边框   

2.4 grid():绘制刻度线的网格线

使用方法:plt.grid(linestyle, color)

2.5 axhline():绘制平行于 x 轴额度水平参考线

使用方法:plt.axhline(y, c, ls, lw, label)

y:水平参考线的出发点

plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.xlim(1, 10)
plt.ylim(-1, 1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls=':',
         color='blue')  # 设置网格,颜色为蓝色
plt.axhline(0.5, color='green', lw=2, label="分割线")  # 绘制平行于x轴的水平参考线,绿色,名称
plt.show()

(上图中绿色的线即为axjline()添加的参考线)

2.6 axvspan():绘制垂直于 x 轴的参考区域

使用方法:plt.axvspan( xmin, xmax ,facecolor, alpha)    

xmin:参考区域的起始位置  

xmax:参考区域的终止位置  

facecolor:参考区域的填充颜色  

alpha:参考区域填充颜色的透明度,[0~1]  

注:其使用方法也可以用在 axhspan()上  

在上一段代码添加  

plt.axvspan(xmin=2,
            xmax=5,
            facecolor='r',
            alpha=0.2)  # 绘制垂直于x轴的参考区域

即得到(注意:此段是区域)

 2.7 xticks(),yticks()

        获取或设置当前 x 轴或 y 轴刻度位置和标签(即设置 x 或 y 轴的标 签)

可以理解为设置xilim和ylim一样的效果,但可以指定范围和距离

plt.xticks(list(range(0, 12, 1)))  # 调整刻度范围和刻度标签

注意看x轴,从原来的0~10到现在的0~11,可以通过设置第三个参数设置步长,这里设置为1

2.8 annotate():添加图形内容细节的指向型注释文本

函数方法:plt.annotate()

s:注释文本内容

xy:被注释的坐标点

xytext:注释文字的坐标位置  

weight:設定字體線形(Ultralight,light,normal,regular,book,medium,roman,semibold,demibold,demi,bold,heavy,extrabold,black)  

color:設定字型顏色;也可以設定 RGB 或 RGBA 類型的顏色;但必須為[0,1]之間的浮點 數           

xycoords= 參數如下  

     figure points:圖左下角的點  

     figure pixels:圖左下角的像素  

     figure fraction:圖的左下方部分  

     axes points:座標軸左下的點  

     axes pixels:座標軸左下的像素  

     data:使用被註釋物件的座標系統  

     arrowprops:箭頭參數,參數型別為字典 dict  

     width:箭頭的寬度  

     headwidth:箭頭底部以點為單位的寬度  

     headlength:箭頭的長度  

     shrink:總長度的一部分,從兩端「縮」  

     facecolor:箭頭顏色(如果設定了 arrowstyle 關鍵字,上面的參數都不可用,可  

以用這些:  

                                

                                                             

                                

                                                               

                                

                                                             

                                

                          地 #  

plt.annotate('local',
             xy=(2, 1),
             xytext=(0.5, 0.5),
             weight='bold',
             color='red',
             xycoords="data",
             arrowprops=
             dict(arrowstyle="->", connectionstyle='arc3', color='b'),
             bbox=
             dict(boxstyle="rarrow",
                  pad=0.6,
                  fc="yellow",
                  ec='k',
                  lw=1,
                  alpha=0.5)
             )

 这里的黄色箭头和蓝色细长线即为参数方法添加的参数,实际使用过程中根据自己的实际所需使用,可以认为添加对图像的一些解释

2.9 bbox:给标题增加外框

(boxstyle:方框外形;circle:椭圆;darrow:双向箭头;larrow:箭头向左;rarrow:箭

头向右;round:圆角矩形;round4:椭长方形;roundtooth:波浪形边框 1;sawtooth:

波浪形边框 2;square:长方形)   

2.10 . text():添加图形内容细节的无指向型注释文本(水印)

函数方法:plt.text()

x,y:表示坐标轴上的值    

weight:    

            ultralightlight    

            normal    

            regular    

            book    

            medium    

            roman    

            semibold    

            demibold    

            demi    

            bold    

            heavy    

            extrabold    

            black    

xycoodrds:     

    figure points:图左下角的点    

    figure pixels:图左下角的像素    

    figure fraction:图的左下部分    

    axes points:坐标轴左下的点    

data:使用被注释对象的坐标系统      

arrowprops:箭头参数,参数类型为字典 dict    

     width:箭头的宽度    

     headwidth:箭头底部以点为单位的宽度    

     headlength:箭头的长度    

     shrink:总长度的一部分,从两端“收缩”    

     facecolor:箭头颜色     

bbox:给标题增加外框    

           boxstyle:方框外形    

           circle:椭圆    

           darrow:双向箭头    

           larrow:箭头向左    

           rarrow:箭头向右    

           round:圆角矩形    

           round4:椭长方形    

           roundtooth:波浪形边框 1    

           sawtooth:波浪形边框 2    

           square:长方形             

plt.text(1, 1,
         "y=sinx",
         weight='bold',
         color ='b')

    这里设置在坐标(1,1)上,即文字下面y=sinx的蓝色字段

2.11. title():添加图形内容的标题

plt.title("正弦函数")

2.12. legend():标示不同图形的文本标签图例

使用方法:plt.legeng()

图例在图中的地理位置:  

                        best  

                        upper right  

                        upper left  

                        lower left  

                        lower right  

                        right  

                        center left  

                        center right  

                        lower center  

                        upper center  

                        center    

plt.legend(loc="lower left")  # 设置图例位置

2.13 table():向子图中添加表格

plt.table(cellText=None, cellColours=None, cellloc='right' ,colWidths=None,    

rowLabels=None,     rowColours=None,     collLabels=None,     colColours=None,    

collloc='center', loc='bpttpm', bbox=None, edges='closed', **kwargs)      

cellText:表格单元格文本。类型为二维字符串列表    

cellColours:表格单元格背景色。类型为二位颜色值列表    

cellloc:表格单元格文本的对齐方式。默认值为right      

colWidths:表格单元格宽度。类型为浮点数列表    

rowLabels:表格行表头文本。类型为字符串列表    

rowColours:表格行表头背景色。类型为颜色列表    

colLabels:表格列表头文本。类型为字符串列表    

colLoc:表格行表头文本对齐方式。默认 right      

colColours:表格列表头背景色。类型为颜色列表    

loc:单元格相对于子图的位置    

bbox:绘制表格的边界框,如果此参数不为 None,将会覆盖 loc 参数    

edges:单元格边线,该属性会影响各类单元格背景色      

3. 完整代码显示

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.xlim(1, 10)
plt.ylim(-1, 1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls=':',
         color='blue')  # 设置网格,颜色为蓝色
plt.axhline(0.5, color='green', lw=2, label="分割线")  # 绘制平行于x轴的水平参考线,绿色,名称
plt.axvspan(xmin=2,
            xmax=5,
            facecolor='r',
            alpha=0.2)  # 绘制垂直于x轴的参考区域
plt.axhspan(ymin=(-3**0.5)/2,
            ymax=(3**0.5)/2,
            facecolor='w',
            alpha=0.2)

plt.legend(loc="lower left")  # 设置图例位置
plt.annotate('local',
             xy=(2, 1),
             xytext=(0.5, 0.5),
             weight='bold',
             color='red',
             xycoords="data",
             arrowprops=
             dict(arrowstyle="->", connectionstyle='arc3', color='b'),
             bbox=
             dict(boxstyle="rarrow",
                  pad=0.6,
                  fc="yellow",
                  ec='k',
                  lw=1,
                  alpha=0.5)
             )
plt.xticks(list(range(0, 12, 1)))  # 调整刻度范围和刻度标签
plt.text(1, 1,
         "y=sinx",
         weight='bold',
         color ='b')
plt.title("正弦函数")
plt.show()

这串代码用于显示中文字符

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

无论画什么图,最后都得使用plt.show()用于展示图片,否则输出为空

4.折线图的线条风格

   -:实线样式
   --:短横线样式
   -.:点划线样式
   ::虚线样式
    .:点标记
    O:圆标记
    V:倒三角标记
    ^:正三角标记
    :右三角表示
    1:下箭头标记13
    2:上箭头标记
    3:左箭头标记
    4:右箭头标记
    S:正方形标记
    p:五边形标记
    *:星形标记
    H:六边形标记
    +:加号标记
    X:x 标记
    D:菱形标记
    |:竖直线标记
    _:水平线标记

5. 常用颜色缩写

b 蓝色
g 绿色
r 红色
c 青色
m 品红色·
y 黄色
k 黑色
w 白色

【相关推荐:Python3视频教程

以上是Python可視化總結之matplotlib.pyplot基本參數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
Python:遊戲,Guis等Python:遊戲,Guis等Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python vs.C:申請和用例Python vs.C:申請和用例Apr 12, 2025 am 12:01 AM

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時的Python計劃:一種現實的方法2小時的Python計劃:一種現實的方法Apr 11, 2025 am 12:04 AM

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python:探索其主要應用程序Python:探索其主要應用程序Apr 10, 2025 am 09:41 AM

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

您可以在2小時內學到多少python?您可以在2小時內學到多少python?Apr 09, 2025 pm 04:33 PM

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?Apr 02, 2025 am 07:18 AM

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Apr 02, 2025 am 07:12 AM

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器