天天看點

python 100天 77 用fill_between畫麥浪

作者:洪較瘦不着調是麼

前言:上次我們的文章 中介紹了何給兩個二次函數(斜率不同的區域進行填充着色)

python 100天 76 用fill_between給填麥浪

明白了fill_between填充着色的基本使用辦法後,我們繼續實作麥浪的效果。

y=x^2  實際上在程式設計中有專門的函數表示X的二次方與我們數學中的寫法稍微有點不一樣,
但是本質 是一樣的           
python 100天 77 用fill_between畫麥浪

用代碼雲實作x的二次方兩個x 相乘,當然也有專門的函數來求解x的n次方,大家可以自己思考

python 100天 77 用fill_between畫麥浪

畫y=x ^2的函數圖像

x = np.linspace(-10, 10, 100)
y1 = x**2
y2 = x**2 - 20*np.cos(x)           

其中有兩個函數一個是y=x^2 ,第二個函數是 y=x^2 -20*np.cos(x) 兩個函數的複合體,後一個是

python 100天 77 用fill_between畫麥浪

接着我填充一下這個區域的範圍

ax.fill_between(x, y1, y2)           
python 100天 77 用fill_between畫麥浪
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, 100)
y1 = x**2
y2 = x**2 - 20*np.cos(x)
fig, ax = plt.subplots()
ax.fill_between(x, y1, y2)

fig.set_figwidth(12)  
fig.set_figheight(6)  

fig.set_facecolor('floralwhite')
ax.set_facecolor('seashell')
plt.show()           

緊接着進行變換

python 100天 77 用fill_between畫麥浪
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, 100)
y1 = x**2
y2 = x**2 - 20*np.cos(x)
fig, ax = plt.subplots()
ax.fill_between(x, y1, y2)
 
fig.set_figwidth(12) #  
fig.set_figheight(6) #  
fig.set_facecolor('floralwhite')
ax.set_facecolor('seashell')
plt.show()           

繼續進行變換

python 100天 77 用fill_between畫麥浪
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 3*np.pi, 100)
y1 = np.cos(x)
y2 = np.sin(x)
fig, ax = plt.subplots()

ax.fill_between(x, y1, 2*y1 + 1,
facecolor='r',
alpha = 0.5,
color = 'black', # цвет линий
linewidth = 2, #  
linestyle = '--') #  
ax.fill_between(x, y2, 3*y2,
facecolor='g',
alpha = 0.5,
color = 'black',
linewidth = 2,
linestyle = '--')

fig.set_figwidth(12) 
fig.set_figheight(6)  
fig.set_facecolor('floralwhite')
ax.set_facecolor('seashell')
plt.show()