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

python matplotlib模塊基本圖形繪制方法小結(jié)【直線,曲線,直方圖,餅圖等】

 更新時(shí)間:2020年04月26日 11:57:44   作者:dawn-liu  
這篇文章主要介紹了python matplotlib模塊基本圖形繪制方法,結(jié)合實(shí)例形式總結(jié)分析了Python使用matplotlib模塊繪制直線,曲線,直方圖,餅圖等圖形的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了python matplotlib模塊基本圖形繪制方法。分享給大家供大家參考,具體如下:

matplotlib模塊是python中一個(gè)強(qiáng)大的繪圖模塊

安裝 pip  install matplotlib

首先我們來(lái)畫(huà)一個(gè)簡(jiǎn)單的圖來(lái)感受它的神奇

import numpy as np
import matplotlib.pyplot as plt
import matplotlib


zhfont1=matplotlib.font_manager.FontProperties(fname="SimHei.ttf") #-------設(shè)置字體,這個(gè)可以事先下載https://www.fontpalace.com/font-details/SimHei/

x=np.arange(1,11,1) #-------從數(shù)字1到11,步長(zhǎng)為1 y=2 * x +5
plt.title("我是標(biāo)題",fontproperties=zhfont1) #--------設(shè)置標(biāo)題 plt.xlabel("x坐標(biāo)標(biāo)題",fontproperties=zhfont1) #---------設(shè)置x坐標(biāo)名稱 plt.ylabel("y坐標(biāo)標(biāo)題",fontproperties=zhfont1) #---------設(shè)置y坐標(biāo)名稱 plt.plot(x,y) #---------開(kāi)始繪制 plt.plot(x,y,":r") 表示使用虛線紅顏色繪制
plt.show() #---------顯示圖形

 下面是簡(jiǎn)單的圖形

2 一個(gè)圖片上繪制多個(gè)子圖:subplot

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

zhfont1=matplotlib.font_manager.FontProperties(fname="SimHei.ttf")
# 計(jì)算正弦和余弦曲線上的點(diǎn)的 x 和 y 坐標(biāo)
x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)

# 激活第一個(gè) subplot
plt.subplot(2, 2, 1)
# 繪制第一個(gè)圖像
plt.plot(x, y_sin)
plt.title('Sine-坐標(biāo)圖1',fontproperties=zhfont1)
plt.xlabel('x1')
plt.ylabel('y1')
# 將第二個(gè) subplot 激活,并繪制第二個(gè)圖像 plt.subplot(2, 2, 2) plt.plot(x, y_cos) plt.title('Cosine-坐標(biāo)圖2',fontproperties=zhfont1) plt.xlabel('x2') plt.ylabel('y2') # 展示圖像 plt.show()

圖形如下

說(shuō)明:從上圖我們可以看到出現(xiàn)了兩個(gè)子圖
plt.subplot用來(lái)激活子圖,plt.subplot('x坐標(biāo)分成幾個(gè)','y坐標(biāo)分成幾個(gè)','本身是第幾個(gè)'): x*y就是把圖片分成幾個(gè)平等位置,最后的參數(shù)表示放在哪個(gè)位置,位置表示如下,從左到右,從上到下
1 2
3 4
如果要讓上面的圖對(duì)角表示呢,
修改為
plt.subplot(2, 2, 1)
plt.subplot(2, 2, 4)

 3 繪制直方圖

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

#zhfont1=matplotlib.font_manager.FontProperties(fname="SimHei.ttf")
plt.rcParams['font.family']='SimHei'

x=[0,1,2,3,4]
y=[20, 10, 30, 25, 15]
str1 = ("北京", "上海", "武漢", "深圳", "重慶")
plt.bar(x,height=y,width=0.5,label="城市工資",tick_label=str1) # tick_label要顯示的名稱
# for a, b in zip(x, y):
#   plt.text(a, b + 0.05, '%.0f' % b, ha='center', va='bottom', fontsize=10)
#分別按照坐標(biāo)給出數(shù)據(jù)標(biāo)簽
plt.text(0,20+0.05,20,ha='center', va='bottom', fontsize=10) #簡(jiǎn)單說(shuō)(x位置,y位置+0.05,要顯示的數(shù)據(jù),水平中心對(duì)齊,垂直底部對(duì)齊,字體大小)
plt.text(1,10+0.05,10,ha='center', va='bottom', fontsize=10)
plt.text(2,30+0.05,30,ha='center', va='bottom', fontsize=10)
plt.text(3,25+0.05,25,ha='center', va='bottom', fontsize=10)
plt.text(4,15+0.05,15,ha='center', va='bottom', fontsize=10)

plt.legend() #用來(lái)顯示label標(biāo)簽的內(nèi)容
plt.show()

下面顯示圖形

 4 繪制條形圖(直方圖的一種)

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

#zhfont1=matplotlib.font_manager.FontProperties(fname="SimHei.ttf")
plt.rcParams['font.family']='SimHei'

x_label=['2015', '2016', '2017','2018','2019'] #橫坐標(biāo)刻度顯示
y1=[20, 10, 30, 25, 15] #縱坐標(biāo)值
y2=[15, 15, 30, 40, 20]
y3=[23, 35, 40, 25, 20]
x=range(len(y1))
str1 = ("北京", "上海", "武漢")
#調(diào)整x和height的大小可以改變條形圖的間距和兩個(gè)年份的圖形間距 rect1=plt.bar(x,height=y1,width=0.25,label="北京",color='red',alpha=0.8) rect2=plt.bar([i+0.25 for i in x],height=y2,width=0.25,label="上海",color='green',alpha=0.8) rect3=plt.bar([i+0.5 for i in x],height=y3,width=0.25,label="武漢",color='blue',alpha=0.8) plt.title('某公司') plt.xlabel('年份') plt.xticks([index +0.25 for index in x],x_label) #直接調(diào)整了x刻度名稱的位置 plt.ylabel('數(shù)量') for rect in rect1: #設(shè)置顯示數(shù)據(jù)內(nèi)容 # print(type(rect)) #<class 'matplotlib.patches.Rectangle'> # print(rect) #Rectangle(xy=(-0.15, 0), width=0.3, height=20, angle=0) height=rect.get_height() plt.text(rect.get_x() + rect.get_width() / 2, height + 0.5, str(height), ha="center", va="bottom") for rect in rect2: height=rect.get_height() plt.text(rect.get_x() + rect.get_width() / 2, height + 0.5, str(height), ha="center", va="bottom") for rect in rect3: height=rect.get_height() plt.text(rect.get_x() + rect.get_width() / 2, height + 0.5, str(height), ha="center", va="bottom") plt.legend() plt.show()

結(jié)果看下圖

5 餅圖繪制

import matplotlib.pyplot as plt
import matplotlib

plt.rcParams['font.sans-serif']=['SimHei']#將圖表內(nèi)容字體設(shè)置為黑體,可以正常顯示中文

ratios=[0.1,0.2,0.15,0.15,0.4]#存放比例列表,相加等于1
colors=['peru','coral','salmon','yellow','grey']#存放顏色列表,與比例相匹配
labels=["流行",'classic','pop','純音樂(lè)','blue']#存放各類元素標(biāo)簽
explode=(0,0.1,0,0,0.1) #大于0的表示突出的比例,負(fù)值表示往里縮

plt.pie(ratios,explode=explode,colors=colors,labels=labels)#繪制餅圖 (比例列表,突出列表,顏色列表,標(biāo)簽列表)
plt.title('歌單音樂(lè)種類百分比')
plt.axis('equal')#將餅圖顯示為正圓形
plt.show()

圖形如下:

最后,此篇博客總結(jié)

1 字體可以使用自己下載的 zhfont1=matplotlib.font_manager.FontProperties(fname="SimHei.ttf") 也可以使用系統(tǒng)的 plt.rcParams['font.family']='SimHei'
2 三要素,標(biāo)題:plt.title     x座標(biāo) plt.xlabel          y坐標(biāo)  plt.ylabel
3 繪制子圖使用 plt.subplot
4 繪制數(shù)據(jù)標(biāo)簽:plt.text
5 圖形顯示 plt.show()
6 最后沒(méi)說(shuō)的 plt.savefig('路徑/名稱.png')
7 想讓x坐標(biāo)的文字傾斜45度: plt.xticks(rotation=45)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python中求兩個(gè)向量的夾角方式

    python中求兩個(gè)向量的夾角方式

    這篇文章主要介紹了python中求兩個(gè)向量的夾角方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例

    Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例

    今天小編就為大家分享一篇Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 如何解決Pycharm運(yùn)行報(bào)錯(cuò)No Python interpreter selected問(wèn)題

    如何解決Pycharm運(yùn)行報(bào)錯(cuò)No Python interpreter selected

    這篇文章主要介紹了如何解決Pycharm運(yùn)行時(shí)No Python interpreter selected問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Python操作SQLite數(shù)據(jù)庫(kù)過(guò)程解析

    Python操作SQLite數(shù)據(jù)庫(kù)過(guò)程解析

    這篇文章主要介紹了Python操作SQLite數(shù)據(jù)庫(kù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • numpy np.newaxis 的實(shí)用分享

    numpy np.newaxis 的實(shí)用分享

    今天小編就為大家分享一篇numpy np.newaxis 的實(shí)用分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python學(xué)習(xí)手冊(cè)中的python多態(tài)示例代碼

    python學(xué)習(xí)手冊(cè)中的python多態(tài)示例代碼

    多態(tài)是面向?qū)ο笳Z(yǔ)言的一個(gè)基本特性,多態(tài)意味著變量并不知道引用的對(duì)象是什么,根據(jù)引用對(duì)象的不同表現(xiàn)不同的行為方式,下面使用一個(gè)示例學(xué)習(xí)他的使用方法
    2014-01-01
  • Python處理不同接口間參數(shù)依賴的方法總結(jié)

    Python處理不同接口間參數(shù)依賴的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫(xiě)接口自動(dòng)化測(cè)試,以有效地處理不同接口之間的參數(shù)依賴,并提供豐富的示例代碼,希望對(duì)大家有所幫助
    2024-01-01
  • pandas重置索引標(biāo)簽的實(shí)現(xiàn)示例

    pandas重置索引標(biāo)簽的實(shí)現(xiàn)示例

    在使用Pandas進(jìn)行數(shù)據(jù)處理時(shí),有時(shí)候我們可能會(huì)需要對(duì)數(shù)據(jù)進(jìn)行重置索引的操作,本文主要介紹了pandas重置索引標(biāo)簽的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • python腳本編輯oss文件的實(shí)現(xiàn)示例

    python腳本編輯oss文件的實(shí)現(xiàn)示例

    本文主要介紹了python腳本編輯oss文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • python環(huán)境的報(bào)錯(cuò)解決方法

    python環(huán)境的報(bào)錯(cuò)解決方法

    這篇文章主要為大家介紹了python環(huán)境的報(bào)錯(cuò)解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08

最新評(píng)論