颜色填充(fill & fill_between)

先看一下填充时要使用的两个函数

代码中要用到 np.linspace(),相关的链接:链接

#!/usr/bin/python
#coding: utf-8

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5 * np.pi, 1000)

y1 = np.sin(x)
y2 = np.sin(2 * x)

plt.plot(x, y1, label = "$ y = sin(x) $")
plt.plot(x, y2, label = "$ y = sin(2 * x) $")
plt.legend(loc = 3)

plt.show()



对函数与坐标轴之间的区域进行填充,使用fill函数

#!/usr/bin/python
#coding: utf-8

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5 * np.pi, 1000)

y1 = np.sin(x)
y2 = np.sin(2 * x)

plt.fill(x, y1, color = "g", alpha = 0.3)
plt.fill(x, y2, color = "b", alpha = 0.3)

plt.show()





填充两个函数之间的区域,使用fill_between函数

#!/usr/bin/python
#coding: utf-8

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5 * np.pi, 1000)

y1 = np.sin(x)
y2 = np.sin(2 * x)

plt.plot(x, y1, c = "g")
plt.plot(x, y2, c = 'r')

# fill_between 填充两个函数之间的区域
# 两个函数之间的区域用黄色填充
plt.fill_between(x, y1, y2, facecolor = "yellow")

plt.show()



当y1在y2上方的时候,填充为蓝色,

当y2在y1上方的时候,填充为黄色,

在fill_between中使用where语句进行填充

#!/usr/bin/python
#coding: utf-8

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5 * np.pi, 1000)

y1 = np.sin(x)
y2 = np.sin(2 * x)

plt.plot(x, y1, c = "g")
plt.plot(x, y2, c = 'r')

# interpolate 自动填充空白,当x取得离散点差距较大时,
# 显示的时候两个函数之间的区域可能有空白存在,interpolate 就是用来填充这部分区域
plt.fill_between(x, y1, y2, where= y1 >= y2, facecolor = "blue", interpolate= True)
plt.fill_between(x, y1, y2, where= y2 > y1, facecolor = "yellow", interpolate= True)

plt.show()


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值