首頁  >  文章  >  後端開發  >  Python可視化總結之matplotlib.pyplot基本參數詳解

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

WBOY
WBOY轉載
2022-06-29 17:44:533425瀏覽

本篇文章為大家帶來了關於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.net。如有侵權,請聯絡admin@php.cn刪除