最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?Matplotlib繪圖基礎(chǔ)詳細(xì)教程

 更新時間:2022年07月01日 09:57:29   作者:飛行模式、  
matplotlib是python中用于繪制各種圖像的模塊,功能十分強(qiáng)大,通常與pandas模塊搭配使用,可以生成各種樣視的圖片,用于數(shù)據(jù)的分析和展示,下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib繪圖基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下

plt是最常用的接口

1. 畫圖的基本步驟

1.導(dǎo)入模塊

import matplotlib as mpl
import matplotlib.pyplot as plt

2.創(chuàng)建畫板,然后對畫板進(jìn)行調(diào)整

3.定義數(shù)據(jù)

4.繪制圖形(包含坐標(biāo)軸的設(shè)置,數(shù)據(jù)的導(dǎo)入,線條的樣式,顏色,還有標(biāo)題,圖例,等等)

5.plt.show()

1.1一步一步看

1.1.1**(一)第一步:創(chuàng)建并定義一個"畫板"**(你將要在你定義的畫板上面進(jìn)行畫圖操作).

fig=plt.figure()#定義一張畫板命名為fig

在plt.figure()括號里面還有一些參數(shù)

例如:

huaban=plt.figure(figsize=(6,10),facecolor='b',dpi=500)
#figsize是調(diào)整你的圖像的比例大小,上面所示就是:長/寬=6/10
#facecolor是設(shè)置畫板的背景顏色,一般顏色代碼為英文的首字母
#dpi設(shè)置圖像的分辨率,分辨率越圖像越清晰
#edgcolor是設(shè)置邊框顏色的參數(shù)

1.1.2**(二).第二步:定義你的x,y數(shù)據(jù)**

這里我們使用numpy庫函數(shù)來制造一些數(shù)據(jù)

所以我們還得導(dǎo)入numpy函數(shù)

import numpy as np
#設(shè)置xy的值
x=np.linspace(-5,5,11)#這里就是把-5到5平均分成十一份,(-5,-4,-3,.....)
y=[1,6,3,-3,6,8,3,6,9,1,-5]

1.1.3**(三).第三步:設(shè)置x,y軸的大小,刻度,…**

#添加p1到畫板
p1=fig.add_subplot(111)#這里的111是指把畫板分成一行一列,把p1添加到第一副圖

#限制函數(shù)坐標(biāo)軸的長度
p1.axis([-5,5,-10,10])#x軸長度為-5到5,y軸長度為-10到10

#設(shè)置x,y軸的刻度
plt.xticks(x)
plt.yticks(y)
#這里是指:x,y軸的刻度為之前定義的x,y數(shù)據(jù)列表

#設(shè)置坐標(biāo)軸的上下限
plt.xlim(-5,5)
plt.ylim(-10,10)

1.1.4(四).繪制圖像,導(dǎo)入x,y數(shù)據(jù),設(shè)置線條樣式,顏色,粗細(xì),添加圖例,標(biāo)題…

#繪制圖像
p1.plot(x,y,marker='o',ms=5,lw=2,ls='--',label='band')
#x,y就是最開始定義的數(shù)據(jù)
#marker是設(shè)置拐點樣式:o/h/^/./+等等
#ms是設(shè)置拐點的標(biāo)記大小
#lw就是設(shè)置線條粗細(xì),數(shù)值越大線條越粗
#ls是設(shè)置線條樣式,這里'--'為虛線
#label是設(shè)置此線條的名稱標(biāo)題


p1.legend(loc='best')#添加圖例,其中best是指將圖例的位置添加到最佳位置,
#你也可以自己設(shè)置位置,例如:upper left(左上角)


#添加標(biāo)題
plt.title('NUM',fontsize=24)#設(shè)置圖像的標(biāo)題,fontsize是設(shè)置標(biāo)題文字的大小
plt.xlabel('Value',fontsize=14)#設(shè)置x軸的標(biāo)題
plt.ylabel('ARG',fontsize=14)#設(shè)置y軸的標(biāo)題

現(xiàn)在基本上就設(shè)置好了,因為我是在腳本中畫圖,所以我需要在代碼的最后添加一個:plt.show(),它會自動啟用一個事件循環(huán),并找到所有當(dāng)前可用的圖形對象,然后打開一個交互式窗口來顯示圖形.

1.1.5上述的完整的代碼(有一些細(xì)節(jié)的添加):

import matplotlib.pyplot as plt
import numpy as np
#設(shè)置xy的值
x=np.linspace(-5,5,11)
y=[1,6,3,-3,6,8,3,6,9,1,-5]
#創(chuàng)建一張畫板
huaban=plt.figure(figsize=(6,10))
#添加p1到畫板
p1=huaban.add_subplot(111)

#限制函數(shù)坐標(biāo)軸的長度
p1.axis([-5,5,-10,10])

#設(shè)置x,y軸的刻度
plt.xticks(x)
plt.yticks(y)


#去除右邊邊框
p1.spines['right'].set_color('none')
#去除頂部邊框
p1.spines['top'].set_color('none')

#下面兩行代碼是將xy軸的交點改為(0,0)
p1.spines['bottom'].set_position(('data',0))
p1.spines['left'].set_position(('data',0))

#繪制圖像
p1.plot(x,y,marker='^',ms=5,lw=2,ls='--',label='band')
p1.legend(loc='upper left')
#添加標(biāo)題
plt.title('NUM',fontsize=24)
plt.xlabel('Value',fontsize=14)
plt.ylabel('ARG',fontsize=14)

#添加輔助虛線
for i in range(len(x)):
    x1=[x[i],x[i]]
    y1=[0,y[i]]
    plt.plot(x1,y1,'r-.')
for i in range(len(x)):
    x2=[0,x[i]]
    y2=[y[i],y[i]]
    p1.plot(x2,y2,'r-.')

#添加每個折點的坐標(biāo)
for i in range(len(x)):
    p1.text(x[i],y[i],(x[i],y[i]),c='green')

plt.grid(c='b',ls='--')#這個函數(shù)是生成網(wǎng)格的函數(shù)
plt.show()

輸出結(jié)果:

2.散點圖

散點圖其實大部分語法和上述差不多,只需要將折線圖中的plt.polt()改為plt.scatter()

這里我們只需要畫一幅圖來做個例子,就省去創(chuàng)建畫板的步驟,創(chuàng)建畫板的步驟在后面才會有用.

import numpy as np
import matplotlib.pyplot as plt

#隨機(jī)生成一些數(shù)據(jù)
N=20
x=np.random.rand(N)
y=np.random.rand(N)
x1=np.random.rand(N)
y1=np.random.rand(N)

plt.scatter(x,y,s=100,c='red',marker='^',label='red')#c是color的簡稱,設(shè)置顏色
plt.legend(loc='best')

plt.scatter(x1,y1,s=50,c='blue',marker='o',label='blue')
plt.legend(loc='upper left')#在左上角添加圖例

plt.xlabel('x')#給橫坐標(biāo)添加標(biāo)簽
plt.ylabel('y')#給縱坐標(biāo)添加標(biāo)簽
plt.title('picture')#給圖像添加標(biāo)簽
plt.show()#顯示圖像

輸出結(jié)果:

3.條形圖的繪制

使用plt.bar()進(jìn)行繪制

import numpy as np
import matplotlib.pyplot as plt

x=[1,2,3,4,5]
y=np.random.rand(5)
plt.figure(figsize=(8,4))
plt.bar(x,y)
x_t=list(range(len(x)))
plt.xticks(x,x_t)
plt.show()

輸出結(jié)果:

4.四幅子圖的繪制

畫子圖就需要創(chuàng)建畫板,然后對畫板進(jìn)行分割,然后在分出來的位置進(jìn)行繪制不同的圖像.

重點是這里:

p1 = huaban.add_subplot(221)p2=huaban.add_subplot(222)p3=huaban.add_subplot(223)p4=huaban.add_subplot(224)#這些數(shù)字的意思就是,把畫板分成兩行兩列,四個位置,然后p1在位置1,p2在位置2,p3在位置3.......
import numpy as np
import matplotlib.pyplot as plt

x=range(-10,10,1)
y=np.random.rand(20)
huaban=plt.figure(facecolor='pink',figsize=(8,8),dpi=100)

p1 = huaban.add_subplot(221)
p1.plot(x,y,label="sinx",marker='o')
plt.legend(loc='best')
plt.grid(c='r',linestyle=':')

p2=huaban.add_subplot(222)
x1=np.linspace(-np.pi*2,np.pi*2,1000)
y1=np.sin(x1)
p2.plot(x1,y1,label="sinx",color='blue')
plt.legend(loc='best')
plt.grid(c='b',linestyle='--')


p3=huaban.add_subplot(223)
x2=np.random.rand(10)
y2=np.random.rand(10)
x3=np.random.rand(10)
y3=np.random.rand(10)
p3.scatter(x2,y2,c='red',marker='o',label="散點圖")
p3.scatter(x3,y3,c='red',marker='^',label="散1")

p4=huaban.add_subplot(2,2,4)
p4.plot(x1,np.cos(x1),label="cosx")
plt.legend('best')
plt.grid(c='c',linestyle=':')
plt.show()

輸出結(jié)果:

5.餅狀圖的繪制

import matplotlib.pyplot as plt
x=[35,25,25,15]
colors=["#14615E", "#F46C40", "#3E95C0", "#A17D3B"]
name=['A','B','C','D']
label=['35.00%','25.00%','25.00%','15.00%']
huaban=plt.figure()
p1=huaban.add_subplot(111)

p1.pie(x,labels=name,colors=colors,autopct='%1.2f%%',explode = (0, 0.2, 0, 0))
plt.axis('equal')
plt.show()

輸出結(jié)果:

6.熱力圖的繪制

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(4,4))
# Fixing random state for reproducibility
#np.random.seed(19680801)
#創(chuàng)建子圖1
plt.subplot(211)
plt.imshow(np.random.random((10, 10)), cmap="hot")

#創(chuàng)建子圖2
plt.subplot(212)
plt.imshow(np.random.random((5, 5)), cmap="winter")

plt.subplots_adjust(bottom=0.09, right=0.5, top=0.9)
cax = plt.axes([0.75, 0.1, 0.065, 0.8])
plt.colorbar(cax=cax)


plt.show()

輸出結(jié)果:

總結(jié)

到此這篇關(guān)于Python Matplotlib繪圖基礎(chǔ)的文章就介紹到這了,更多相關(guān)Python Matplotlib繪圖基礎(chǔ)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL數(shù)據(jù)庫中表的操作詳解

    MySQL數(shù)據(jù)庫中表的操作詳解

    這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫中表常用的一些操作方法,文中的示例代碼講解詳細(xì),?對我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下
    2022-08-08
  • MySQL Replace INTO的使用

    MySQL Replace INTO的使用

    今天DST里面有個插件作者問我關(guān)于Replace INTO和INSERT INTO的區(qū)別,我和他說晚上上我的blog看吧,那時候還在忙,現(xiàn)在從MYSQL手冊里找了點東西,MYSQL手冊里說REPLACE INTO說的還是比較詳細(xì)的.
    2008-04-04
  • win10下完全卸載+重裝MySQL步驟詳解

    win10下完全卸載+重裝MySQL步驟詳解

    小編是因為連接MySQL和Qt時出現(xiàn)問題,迫不得已選擇把64bitMySQL換成了32bitMySQL,在安裝過程中出現(xiàn)各種問題,下面小編把 win10下完全卸載+重裝MySQL步驟分享到腳本之家平臺,需要的朋友參考下
    2017-12-12
  • MySQL8.0 鎖等待排查的問題解決

    MySQL8.0 鎖等待排查的問題解決

    MySQL 5.7 一些鎖監(jiān)控表,在 8.0 都發(fā)生了變化,本文主要介紹了MySQL8.0如何排查鎖等待問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • php 不能連接數(shù)據(jù)庫 php error Can''t connect to local MySQL server

    php 不能連接數(shù)據(jù)庫 php error Can''t connect to local MySQL server

    php 不能連接數(shù)據(jù)庫 php error Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    2011-05-05
  • MySQL對window函數(shù)執(zhí)行sum函數(shù)可能出現(xiàn)的一個Bug

    MySQL對window函數(shù)執(zhí)行sum函數(shù)可能出現(xiàn)的一個Bug

    這篇文章主要給大家介紹了關(guān)于MySQL對window函數(shù)執(zhí)行sum函數(shù)可能出現(xiàn)的一個Bug,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • mysql臨時表(temporary?table)使用方法詳解

    mysql臨時表(temporary?table)使用方法詳解

    MySQL臨時表在很多場景中都會用到,MySQL內(nèi)部在執(zhí)行復(fù)雜SQL時,需要借助臨時表進(jìn)行分組、排序、去重等操作,下面這篇文章主要給大家介紹了關(guān)于mysql臨時表(temporary?table)使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • ubuntu安裝mysql數(shù)據(jù)庫方法

    ubuntu安裝mysql數(shù)據(jù)庫方法

    ubuntu基于linux的免費開源桌面PC操作系統(tǒng),十分契合英特爾的超極本定位,支持x86、64位和ppc架構(gòu)。這篇文章給大家介紹ubuntu安裝mysql數(shù)據(jù)庫方法,非常不錯,需要的朋友參考下吧
    2019-08-08
  • mysql sql大文件導(dǎo)入正確姿勢

    mysql sql大文件導(dǎo)入正確姿勢

    在 MySQL 中導(dǎo)入大文件時,mysql source 導(dǎo)入大文件速度太慢,可能會遇到性能問題或內(nèi)存限制,以下是一些優(yōu)化導(dǎo)入大文件的建議,需要的朋友可以參考一下
    2025-02-02
  • 詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時任務(wù)

    詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時任務(wù)

    事件調(diào)度器(Event Scheduler)是在MySQLv5.1.6中新增的一個功能,它相當(dāng)于一個定時器,可以在指定的時間點執(zhí)行一條SQL語句或一個語句塊,也可以用于在固定間隔重復(fù)執(zhí)行。下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)在MySQL中如何用事件調(diào)度器Event Scheduler創(chuàng)建定時任務(wù)
    2016-08-08

最新評論

普洱| 永城市| 郧西县| 绵竹市| 洛隆县| 怀柔区| 河南省| 大英县| 纳雍县| 桑植县| 满城县| 舟曲县| 忻城县| 星座| 顺义区| 嘉峪关市| 彰武县| 岗巴县| 时尚| 页游| 南澳县| 扎赉特旗| 邢台市| 麻城市| 许昌市| 九江市| 泰宁县| 柏乡县| 安化县| 和平区| 宁津县| 通化市| 桓台县| 贵阳市| 莒南县| 宝兴县| 乳源| 仪征市| 苗栗市| 五常市| 桓台县|