Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

Published: 04 mars 2019

DMCA.com Protection Status

Quelques exemples de comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib en utilisant Axes.fill_between:

Surface délimitée par une courbe et l'axe des x:

Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?
Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

import matplotlib.pyplot as plt
import numpy as np

def f(x):
    return x**2

x = np.arange(0,10,0.1)
y = f(x)

plt.plot(x,y,'k--')

plt.fill_between(x, y, color='#539ecd')

plt.grid()

plt.title('How to fill an area in matplotlib ?',fontsize=10)

plt.savefig('how_to_fill_area_matplotlib_01.png', bbox_inches='tight')
#plt.show()
plt.close()

Surface opposée:

Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?
Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

def f(x):
    return x**2

x = np.arange(0,10,0.1)
y = f(x)

plt.plot(x,y,'k--')

plt.fill_between(x, y, np.max(y), color='#539ecd')

plt.grid()

plt.title('How to fill an area in matplotlib ?',fontsize=10)

plt.savefig('how_to_fill_area_matplotlib_02.png', bbox_inches='tight')
#plt.show()
plt.close()

Surface délimitée par deux courbes:

Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?
Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

def f1(x):
    return 1.0 / np.exp(x)

def f2(x):
    return np.log(x)

x = np.arange(0.01,10,0.1)

y1 = f1(x)
y2 = f2(x)

plt.plot(x,y1,'k--')
plt.plot(x,y2,'k--')

plt.fill_between(x, y1, y2, color='#539ecd')

plt.grid()

plt.xlim(0,10)
plt.ylim(-1,2.5)

plt.title('How to fill an area in matplotlib ?',fontsize=10)

plt.savefig('how_to_fill_area_matplotlib_03.png', bbox_inches='tight')
#plt.show()
plt.close()

Surface délimitée par deux courbes avec une condition:

Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?
Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

def f1(x):
    return 1.0 / np.exp(x)

def f2(x):
    return np.log(x)

x = np.arange(0.01,10,0.1)

y1 = f1(x)
y2 = f2(x)

plt.plot(x,y1,'k--')
plt.plot(x,y2,'k--')

plt.fill_between(x, y1, y2, where=y1<y2, color='#539ecd')

plt.grid()

plt.xlim(0,10)
plt.ylim(-1,2.5)
plt.title('How to fill an area in matplotlib ?',fontsize=10)

plt.savefig('how_to_fill_area_matplotlib_04.png', bbox_inches='tight')
#plt.show()
plt.close()

Autre exemples

Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?
Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

x = np.arange(0.01,10,0.1)

y1 = x
y2 = - x + np.max(y1)

y = np.minimum(y1,y2)

plt.plot(x,y1,'k--')
plt.plot(x,y2,'k--')

plt.fill_between(x, y, color='#539ecd')

plt.grid()

plt.title('How to fill an area in matplotlib ?',fontsize=10)

plt.savefig('how_to_fill_area_matplotlib_05.png', bbox_inches='tight')
#plt.show()
plt.close()

Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?
Comment mettre en couleur une surface délimitée par une ou plusieurs courbes avec matplotlib ?

x = [0,1,2,3,4,5]
y = [0,1,2,3,4,5]


plt.plot(x,y,'k--')

plt.fill_between(x, y, color='#539ecd')

plt.grid()

plt.title('How to fill an area in matplotlib ?',fontsize=10)

plt.savefig('how_to_fill_area_matplotlib_06.png', bbox_inches='tight')
#plt.show()
plt.close()

Références

Image

of