欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

matplotlib基本圖形繪制操作實(shí)例

 更新時(shí)間:2022年12月05日 16:18:31   作者:YiiiiiiQ  
這篇文章主要為大家介紹了matplotlib基本圖形繪制操作實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

matplotlib

matplotlib是最流行的python底層繪圖庫(kù),接下來(lái)就由小編為大家介紹一些關(guān)于matplotlib的一些基本圖形的繪制操作。這些操作可以將你的數(shù)據(jù)更加直觀的呈現(xiàn)在你的面前。

首先要使用Import導(dǎo)入pyplot庫(kù)并設(shè)置一個(gè)別名plt

from matplotlib import pyplot as plt

1.折線圖

以下實(shí)例繪制氣溫曲線。(氣溫是依靠numpy中隨機(jī)數(shù)產(chǎn)生的,因此要導(dǎo)入numpy)

import numpy as np
import random
a = [np.random.randint(20, 35) for i in range(120)]
x = np.arange(0, 120)
fig = plt.figure(figsize=(20, 8), dpi=80) # 設(shè)置圖形大小和圖形分辨率
plt.plot(x, a) #調(diào)用plot繪制圖形 將x軸坐標(biāo)和對(duì)應(yīng)的y軸的點(diǎn)傳入
# 調(diào)整x軸的刻度
_x = list(x)
_xtick_labels = ['10點(diǎn){}分'.format(i) for i in range(60)]
_xtick_labels += ['11點(diǎn){}分'.format(i) for i in range(60)]
plt.xticks(_x[::3], _xtick_labels[::3], rotation=45)   # rotation表示x軸標(biāo)簽旋轉(zhuǎn)度數(shù)
# 添加描述信息
plt.xlabel('時(shí)間')
plt.ylabel('溫度 單位(C)')
plt.title('10點(diǎn)-12點(diǎn)每分鐘的氣溫變化')
plt.show()

運(yùn)行后發(fā)現(xiàn)中文字體無(wú)法顯示。

這是因?yàn)閙atplotlib在繪制過(guò)程中無(wú)法顯示中文,需要自己設(shè)置。

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

加入這些代碼后,中文就可以正常顯示了

我們還可以加入網(wǎng)格 使圖像y軸對(duì)應(yīng)的值更加清楚

gitd()語(yǔ)法格式

matplotlib.pyplot.grid(b=None, which='major',axis='both)

b,which,axis 都是可選的操作

只要在代碼末行添加以下一行代碼即可

plt.grid()

2.散點(diǎn)圖

(使用scatter方法繪制散點(diǎn)圖)

from numpy as np
import random
a = np.random.randint(6, 25, size=(31,))
a = list(a)
b = np.random.randint(12, 23, size=(31,))
# 設(shè)置字體
plt.rcParams['font.sans-serif'] = ['YouYuan']
plt.rcParams['axes.unicode_minus'] = False
x1 = np.arange(1, 32)
x2 = np.arange(40, 71)
# 使用plt.scatter()繪制散點(diǎn)圖
plt.scatter(x1, a, label='三月', s=20, color='orange')
plt.scatter(x2, b, label='四月',s=10, color='red')
# label表示不同顏色點(diǎn)的標(biāo)簽,s是點(diǎn)的大小,color設(shè)置點(diǎn)的顏色
# 設(shè)置x軸刻度
_x = list(x1) + list(x2)
_xtick_labels = ['三月{}日'.format(i) for i in x1]
_xtick_labels += ['四月{}日'.format(i-39) for i in x2]
plt.xticks(_x[::3], _xtick_labels[::3], rotation=45)
plt.xlabel('時(shí)間')
plt.legend()
plt.ylabel('溫度')
plt.show()

運(yùn)行后

3.條形圖

(使用bar或者barh方法繪制) (1).豎著的條形圖

a = ['貓', '狗', '蛇', '大象', '兔子', '馬', '驢', '斑馬', '獵豹', '豺狼']
b = [32.4, 23.3, 232, 2423, 232, 2332, 123, 132, 213, 132]
_x = list(range(len(a)))
plt.rcParams['font.sans-serif'] = ['YouYuan']
plt.rcParams['axes.unicode_minus'] = False
# 設(shè)置圖形大小
plt.figure(figsize=(20, 8), dpi=80)
# 豎著的條形圖 使用bar函數(shù)
# width表示柱形寬距
plt.bar(_x, b, width=0.3)
plt.xticks(_x, a)
plt.xlabel('動(dòng)物種類')
plt.ylabel('動(dòng)物數(shù)量')
plt.show()

(2).橫著的條形圖

a = ['貓', '狗', '蛇', '大象', '兔子', '馬', '驢', '斑馬', '獵豹', '豺狼']
b = [32.4, 23.3, 232, 2423, 232, 2332, 123, 132, 213, 132]
_x = list(range(len(a)))
plt.rcParams['font.sans-serif'] = ['YouYuan']
plt.rcParams['axes.unicode_minus'] = False
# 設(shè)置圖形大小
plt.figure(figsize=(20, 15), dpi=80)
# 橫著的條形圖 使用barh函數(shù) 注意柱形寬度要使用height
plt.barh(_x, b, height=0.3, color='orange')
plt.yticks(_x, a)
plt.ylabel('動(dòng)物種類')
plt.xlabel('動(dòng)物數(shù)量')
# alpha可以調(diào)節(jié)網(wǎng)格顏色深淺
plt.grid(alpha=0.3)
plt.show()

4.直方圖

(使用hist方法)

在傳入數(shù)據(jù)之后往往要以以下方式分組

組數(shù):將數(shù)據(jù)分組 當(dāng)數(shù)據(jù)在100個(gè)之內(nèi) 一般分為5-12組
組距: 每個(gè)小組端點(diǎn)的距離
組數(shù) = 極差/組距 = (max() - min()) or numpy.plp()// bin_width 

以下案例為電影時(shí)長(zhǎng)分布直方圖

a = np.random.randint(90, 150, size=(250,))
print(a)
plt.figure(figsize=(20, 10), dpi=100)
bin_width = 3  # 設(shè)置組距
num_bins = int((max(a) - min(a)) // bin_width)  # 分組
plt.xticks(list(range(min(a), max(a) + bin_width, bin_width)))
plt.hist(a, num_bins)  # 傳入需要統(tǒng)計(jì)的數(shù)據(jù) 以及組數(shù)
plt.show()

但以上案例是組距相同的情況

實(shí)際生活往往有許多組距不相同的情況

這時(shí)候往往用條形圖來(lái)展現(xiàn)組距不相同的情況

a = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 60, 90]
b = [5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 30, 60]
c = [836, 2737, 3723, 3926, 3596, 1438, 3273, 642, 824, 613, 215, 47]
plt.figure(figsize=(20, 10), dpi=100)
plt.bar(range(len(a)), c, width=1)
_x = [i-0.5 for i in range(13)]
_xtick_labels = a + [150]  # + [150] 使得條形圖能顯示90,150之間的數(shù)據(jù)
plt.xticks(_x, _xtick_labels, )
plt.grid(alpha=0.3)
plt.show()

以上就是matplotlib基本圖形繪制操作實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于matplotlib 圖形繪制的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景

    關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景

    這篇文章主要介紹了關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景,argparse 模塊使編寫用戶友好的命令行界面變得容易,程序定義了所需的參數(shù),而 argparse 將找出如何從 sys.argv 中解析這些參數(shù),需要的朋友可以參考下
    2023-08-08
  • 使用FastCGI部署Python的Django應(yīng)用的教程

    使用FastCGI部署Python的Django應(yīng)用的教程

    這篇文章主要介紹了使用FastCGI部署Python的Django應(yīng)用的教程,FastCGI也是被最廣泛的應(yīng)用于Python框架和服務(wù)器連接的模塊,需要的朋友可以參考下
    2015-07-07
  • Python金融數(shù)據(jù)可視化匯總

    Python金融數(shù)據(jù)可視化匯總

    這篇文章主要介紹了Python金融數(shù)據(jù)可視化(兩列數(shù)據(jù)的提取,分別畫,雙坐標(biāo)軸,雙圖,兩種不同的圖)等內(nèi)容。
    2017-11-11
  • Github?Copilot結(jié)合python的使用方法詳解

    Github?Copilot結(jié)合python的使用方法詳解

    最近也是聽說(shuō)github出了一種最新的插件叫做copilot,于是申請(qǐng)了,下面這篇文章主要給大家介紹了關(guān)于Github?Copilot結(jié)合python使用的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Python實(shí)現(xiàn)的一個(gè)自動(dòng)售飲料程序代碼分享

    Python實(shí)現(xiàn)的一個(gè)自動(dòng)售飲料程序代碼分享

    這篇文章主要介紹了Python實(shí)現(xiàn)的一個(gè)自動(dòng)售飲料程序代碼分享,就是用python實(shí)現(xiàn)的生活中一種投幣式自動(dòng)售飲料機(jī)的內(nèi)部程序判斷代碼,需要的朋友可以參考下
    2014-08-08
  • Python實(shí)現(xiàn)統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù)

    Python實(shí)現(xiàn)統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù)

    這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù),本文給出了實(shí)現(xiàn)代碼以及使用方法,需要的朋友可以參考下
    2015-05-05
  • Python實(shí)現(xiàn)聚類K-means算法詳解

    Python實(shí)現(xiàn)聚類K-means算法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)聚類K-means算法詳解,K-means(K均值)算法是最簡(jiǎn)單的一種聚類算法,它期望最小化平方誤差,具體詳解需要的朋友可以參考一下
    2022-07-07
  • 淺談python之自動(dòng)化運(yùn)維(Paramiko)

    淺談python之自動(dòng)化運(yùn)維(Paramiko)

    這篇文章主要介紹了淺談python之自動(dòng)化運(yùn)維(Paramiko),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • python?sys模塊使用方法介紹

    python?sys模塊使用方法介紹

    sys模塊功能多,我們這里介紹一些比較實(shí)用的功能,相信你會(huì)喜歡的,和我一起走進(jìn)python的模塊吧
    2023-01-01
  • 18個(gè)Python入門經(jīng)典必背的程序分享

    18個(gè)Python入門經(jīng)典必背的程序分享

    這篇文章主要為大家介紹了Python入門經(jīng)典必背的18個(gè)程序。注意:這是初學(xué)者要牢記的 18 個(gè)代碼,入門之后就簡(jiǎn)單了,快跟隨小編一起來(lái)學(xué)習(xí)一下吧
    2023-02-02

最新評(píng)論