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

python面積圖之曲線圖的填充

 更新時間:2022年06月19日 15:06:23   作者:Vergil_Zsh  
這篇文章主要介紹了python面積圖之曲線圖的填充,文章圍繞主題的相關資料展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助

用法:

Axes.fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, *, data=None, **kwargs)

參數說明:

基礎用法

import matplotlib.pyplot as plt
import numpy as np
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [9, 9, 9, 9, 9]
fig, (ax1, ax2) = plt.subplots(1,2)
ax1.fill_between(x, y1, alpha=.5, linewidth=0)
ax1.set_title('填充x,y1之間')
ax2.fill_between(x, y2, alpha=.5, linewidth=1)
ax2.set_title('填充x,y2之間')
plt.show()

當然這樣時沒有多大意義的,只是想展示出一個比較明確的填充,類似于區(qū)域全部填充顏色

案例

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(1)
x = np.linspace(0, 8, 16)
y1 = 3 + 4*x/8 + np.random.uniform(0.0, 0.5, len(x))
y2 = 1 + 2*x/8 + np.random.uniform(0.0, 0.5, len(x))
fig, ax = plt.subplots()
ax.fill_between(x, y1, y2, alpha=.5, linewidth=0)
ax.plot(x, (y1 + y2)/2, linewidth=2)

ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
       ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()

復雜的fille_between(案例來源官網)

import numpy as np
import matplotlib.pyplot as plt

Nsteps, Nwalkers = 100, 250
t = np.arange(Nsteps)
# an (Nsteps x Nwalkers) array of random walk steps
S1 = 0.004 + 0.02*np.random.randn(Nsteps, Nwalkers)
S2 = 0.002 + 0.01*np.random.randn(Nsteps, Nwalkers)
# an (Nsteps x Nwalkers) array of random walker positions
X1 = S1.cumsum(axis=0)
X2 = S2.cumsum(axis=0)
# Nsteps length arrays empirical means and standard deviations of both
# populations over time
mu1 = X1.mean(axis=1)
sigma1 = X1.std(axis=1)
mu2 = X2.mean(axis=1)
sigma2 = X2.std(axis=1)
# plot it!
fig, ax = plt.subplots(1)
ax.plot(t, mu1, lw=2, label='mean population 1')
ax.plot(t, mu2, lw=2, label='mean population 2')
ax.fill_between(t, mu1+sigma1, mu1-sigma1, facecolor='C0', alpha=0.4)
ax.fill_between(t, mu2+sigma2, mu2-sigma2, facecolor='C1', alpha=0.4)
ax.set_title(r'random walkers empirical $\mu$ and $\pm \sigma$ interval')
ax.legend(loc='upper left')
ax.set_xlabel('num steps')
ax.set_ylabel('position')
ax.grid()

where和interpolate

where

定義從何處排除要填充的某些水平區(qū)域。填充區(qū)域由坐標x[其中]定義。更準確地說,如果其中[i]和其中[i+1],則在x[i]和x[i+1]之間填充。請注意,此定義意味著where中兩個假值之間的孤立真值不會導致填充。由于相鄰的假值,真實位置的兩側仍保持未填充狀態(tài)。

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
x = np.arange(0, 4 * np.pi, 0.01)
y = np.sin(x)
ax.plot(x, y, color='black')
ax.fill_between(x, y, 0, where=(x>4)&(x<5),color='cyan', alpha=0.5)
plt.show()

interpolate

在語義上,where通常用于y1>y2或類似的詞。默認情況下,定義填充區(qū)域的多邊形節(jié)點將僅放置在x陣列中的位置。這樣的多邊形無法描述上述靠近交點的語義。包含交叉點的x截面僅被剪裁。
將“插值”設置為True將計算實際交點,并將填充區(qū)域延伸到此點。

import numpy as np
import matplotlib.pyplot as plt

x = np.array([0, 1, 2, 3])
y1 = np.array([0.8, 0.8, 0.2, 0.2])
y2 = np.array([0, 0, 1, 1])

fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
ax1.set_title('interpolation=False')
ax1.plot(x, y1, 'o--')
ax1.plot(x, y2, 'o--')
ax1.fill_between(x, y1, y2, where=(y1 > y2), color='C0', alpha=0.3)
ax1.fill_between(x, y1, y2, where=(y1 < y2), color='C1', alpha=0.3)
ax2.set_title('interpolation=True')
ax2.plot(x, y1, 'o--')
ax2.plot(x, y2, 'o--')
ax2.fill_between(x, y1, y2, where=(y1 > y2), color='C0', alpha=0.3,
                 interpolate=True)
ax2.fill_between(x, y1, y2, where=(y1 <= y2), color='C1', alpha=0.3,                interpolate=True)
fig.tight_layout()

step

包含參數為三個{‘pre’,‘post’,‘mid’}
如果填充應為階躍函數,即x之間的常數,則定義階躍。該值確定階躍發(fā)生的位置:

  • “pre”:y值從每個x位置持續(xù)向左,即間隔(x[i-1],x[i]]的值為y[i]。
  • “post”:y值從每個x位置持續(xù)向右,即區(qū)間[x[i],x[i+1])的值為y[i]。
  • “mid”:步數出現在x位置的中間。
import numpy as np
import matplotlib.pyplot as plt

a = np.linspace(0,2*3.14,50) 
b = np.sin(a) 
plt.figsize=((12,6))
plt.subplot(131)
plt.fill_between(a, b, 0, where = (a > 2) & (a < 5), color = 'green', step='pre') 
plt.plot(a,b)
plt.title('step=pre')

plt.subplot(132)
plt.fill_between(a, b, 0, where = (a > 2) & (a < 5), color = 'cyan', step='post') 
plt.plot(a,b)
plt.title('step=post')

plt.subplot(133)
plt.fill_between(a, b, 0, where = (a > 2) & (a < 5), color = 'red', step='mid') 
plt.plot(a,b)
plt.title('step=mid')
plt.show()

偏移會有點不一樣,因為函數的緣故,偏移不太明顯

到此這篇關于python面積圖之曲線圖的填充的文章就介紹到這了,更多相關python曲線填充內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 手把手教你使用Python繪制時間序列圖

    手把手教你使用Python繪制時間序列圖

    這篇文章主要介紹了手把手教你使用Python繪制時間序列圖,本文將以股價數據集為例,指導你從Quandl下載股價數據集,并將這些數據繪制在價格和成交量圖表上,需要的朋友可以參考下
    2022-01-01
  • PyTorch張量拼接、切分、索引的實現

    PyTorch張量拼接、切分、索引的實現

    在學習深度學習的過程中,遇到的第一個概念就是張量,張量在pytorch中的計算十分重要,本文主要介紹了PyTorch張量拼接、切分、索引的實現,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python?Pandas輕松實現數據清理

    Python?Pandas輕松實現數據清理

    在當今的數據驅動時代,數據清理是數據分析、機器學習項目中至關重要的一步,本文將帶大家輕松上手使用Python和Pandas進行數據清理,希望對大家有所幫助
    2024-12-12
  • python 畫函數曲線示例

    python 畫函數曲線示例

    今天小編就為大家分享一篇python 畫函數曲線示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python語言基礎之函數語法

    Python語言基礎之函數語法

    這篇文章主要介紹了Python語言基礎中的函數語法,文中有詳細的代碼示例供大家參考,對學習或工作有一定的幫助,需要的朋友可以參考閱讀下
    2023-05-05
  • Python深度學習實戰(zhàn)PyQt5布局管理項目示例詳解

    Python深度學習實戰(zhàn)PyQt5布局管理項目示例詳解

    本文具體介紹基本的水平布局、垂直布局、柵格布局、表格布局和進階的嵌套布局和容器布局,最后通過案例帶小白創(chuàng)建一個有型的圖形布局窗口
    2021-10-10
  • Python入門教程(四)Python注釋介紹

    Python入門教程(四)Python注釋介紹

    這篇文章主要介紹了Python入門教程(四)Python注釋介紹,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • python GUI庫圖形界面開發(fā)之PyQt5控件QTableWidget詳細使用方法與屬性

    python GUI庫圖形界面開發(fā)之PyQt5控件QTableWidget詳細使用方法與屬性

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5控件QTableWidget詳細使用方法與屬性,需要的朋友可以參考下
    2020-02-02
  • pygame 鍵盤事件的實踐

    pygame 鍵盤事件的實踐

    本文主要介紹了pygame 鍵盤事件,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python通過Manager方式實現多個無關聯進程共享數據的實現

    Python通過Manager方式實現多個無關聯進程共享數據的實現

    這篇文章主要介紹了Python通過Manager方式實現多個無關聯進程共享數據的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11

最新評論

平舆县| 鹿泉市| 孝昌县| 黄平县| 汶川县| 高雄县| 竹山县| 申扎县| 府谷县| 宣化县| 阿鲁科尔沁旗| 喀什市| 满洲里市| 垦利县| 德保县| 太康县| 朔州市| 海兴县| 开化县| 眉山市| 静海县| 尉氏县| 江北区| 台安县| 石阡县| 沾化县| 桓仁| 辽宁省| 衢州市| 慈溪市| 车致| 资溪县| 黔西县| 台江县| 宜良县| 集安市| 什邡市| 贵定县| 常德市| 进贤县| 绍兴县|