日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyplot绘制图片_matplotlib系列之pyplot

發布時間:2023/12/1 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyplot绘制图片_matplotlib系列之pyplot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pyplot對象包含了一系列用于繪圖的函數,使得它工作起來就像MATLIB一樣。它的功能例如:

  • 創建一個figure對象

  • 繪制一片繪圖區域

  • 在區域中繪制線條或者點

  • 也可以繪制labels

使用pyplot對象快速的生成一幅圖片

import matplotlib.pyplot as pltplt.subplot(121)plt.plot([1,2,3,4],[4,5,6,7])plt.subplot(122)plt.plot([1,2,3,4],[4,None,6,7]) ##看有一段為空了plt.ylabel("this is y label")plt.subplots_adjust(right=1,left=0,wspace=0.3) ##調整一下兩幅圖的間隔plt.show() ## 顯示圖片

pyplot.plot()函數也可以只提供一個一維數組,這時候函數會將數組作為y軸,而x軸的坐標則是從0開始出發,獲取與y軸相同個數的點

pyplot.plot()函數也可以只提供一個一維數組,這時候函數會將數組作為y軸,而x軸的坐標則是從0開始出發,獲取與y軸相同個數的點

同時還可以自定義一個樣式,例如

  • 修改線條的類型,

  • 線條的顏色,

  • 坐標軸的范圍等

import numpy as npx=np.linspace(0,2,20)y=x*xplt.plot(x,y,'r*') # ro 意思是紅色的點 r-- 紅色的虛線plt.plot(x+1,y-2,'b^')plt.plot(x,y-0.5,'yd')plt.axis([0,5,0,3]) #x軸和y軸范圍

繪制散點圖

pyplot根據data關鍵字來獲取對應的繪圖數據

  • 'a'表示從data中獲取作為X軸

  • 'b'表示作物y軸的數據

  • c='c'表示映射為對應的顏色

  • s='s'?大小的映射

data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)}data['b'] = data['a'] + 10 * np.random.randn(50)data['d'] = np.abs(data['d']) * 100plt.scatter('a','b',c='c',s='d',data=data)plt.xlabel('entry a')plt.ylabel('entry b')plt.show()

繪制分類圖

  • subplot函數中包含3個參數,其中前兩個參數用于將圖片按照行和列進行均等分,而第三個參數則是表示顯示在哪個分好的格子中

import matplotlib.pyplot as pltname=['a','b','c']values=[1,100,200]plt.figure(figsize=(10,4))plt.subplot(1,2,1) ##將figure均等分為2份plt.bar(name,values)plt.subplot(2,2,2) ##分4份plt.scatter(name,values)plt.subplot(2,2,4) ##分4份plt.plot(name,values)

控制線條顯示

  • 可以直接在plot對象中對線條進行設置

  • 也可以獲取plot返回后的對象,調用plt的setp函數對對象進行操作

import numpy as npx=np.linspace(0,1,20)plt.figure(figsize=(10,10))plt.subplot(2,2,1)lines=plt.plot(x,x*x,'--') ##獲取lines對象plt.setp(lines,color="r",linewidth=10.0,alpha=0.5) ##調用方法對對象進行操作plt.subplot(2,2,2)lines2=plt.plot(x,x*x,'--') ##獲取lines對象plt.setp(lines2,color='y',linewidth=2)plt.subplot(2,2,3)lines3=plt.plot(x,x*x,'--') ##獲取lines對象plt.setp(lines3,color='black',linewidth=3,animated=True)

添加文字描述

plt.text函數可以在圖中指定位置添加文字注釋

  • 第一個參數是x軸位置新

  • 第二個參數是y軸位置新

  • 第三個參數則是添加的文字,可以使用正則表達式,并且空格也需要轉義

plt.annotate函數則更加的方便,可以添加箭頭信息等

  • arrowprops字典中arrowstyle可以指定箭頭類型

mu,sigma=100,15x=mu+sigma*np.random.randn(10000)plt.figure()plt.subplot(121)n,bins,patches=plt.hist(x,50,density=1,color='r',alpha=0.7)plt.text(60,0.02,r'$\mu=100,\ \sigma=15$') ##添加文字,特效符合需要轉義plt.grid(True)plt.subplot(122)n,bins,patches=plt.hist(x,50,density=1,color='g',alpha=0.7,orientation='horizontal') ##水平放置plt.grid(True)plt.annotate(r'$Code,\ Hub$', size=20, xy=(0.01,120), xytext=(0.012,140), arrowprops=dict(facecolor='blue',arrowstyle='->')) ##添加箭頭注釋信息

坐標軸對數化

##用于繪制相應對數化后的刻度線from matplotlib.ticker import NullFormatter###獲取數據np.random.seed(19680801)y = np.random.normal(loc=0.5, scale=0.4, size=1000)y = y[(y > 0) & (y < 1)]y.sort()x = np.arange(len(y)) ##生成步長為1的指定數目的arrayplt.figure()plt.subplot(2,2,1)## 線性坐標軸plt.plot(x,y)plt.title("liner")plt.grid(True)##對數坐標軸plt.subplot(222)plt.plot(x,y)plt.yscale('log')plt.title('log')plt.grid(True)##對稱,log坐標軸plt.subplot(223)plt.plot(x,y-y.mean())plt.yscale('symlog',linthreshy=0.01)plt.title('symlog')plt.grid()##logitplt.subplot(224)plt.plot(x, y)plt.yscale('logit')plt.title('logit')plt.grid(True)plt.subplots_adjust(top=1, bottom=0, left=0.10, right=0.95, hspace=0.25, wspace=0.35 )##調整子圖間的間隔

總結

以上是生活随笔為你收集整理的pyplot绘制图片_matplotlib系列之pyplot的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。