04_05_06:设置线型风格(设置线型风格)、区域着色 (Shading Regions)、设置Spines

4.设置线型风格
4.1.设置线型风格
5.区域着色 (Shading Regions)
6.设置Spines

4.设置线型风格

4.1.设置线型风格

在这里插入图片描述
可以使用绘图函数的linestyle或ls参数来影响绘图的线型风格。
可以使用linewidth来设置一条线的宽度。

import matplotlib.pyplot as plt
import numpy as np

X = np.linspace(0, 2 * np.pi, 50, endpoint=True)
F1 = 3 * np.sin(X)
F2 = np.sin(2*X)
F3 = 0.3 * np.sin(X)
F4 = np.cos(X)
plt.plot(X, F1, color="blue", linewidth=2.5, linestyle="-")
plt.plot(X, F2, color="red", linewidth=1.5, linestyle="--")
# plt.plot(X, F3, color="green", linewidth=2, linestyle=":")
# (0,(5,1))即:densely dashed
plt.plot(X, F3, color="green", linewidth=2, linestyle=(0,(5,1)))
plt.plot(X, F4, color="grey", linewidth=2, linestyle="-.")
plt.show()

在这里插入图片描述

5.区域着色 (Shading Regions)

可以对两条曲线之间的区域进行着色。 在以下示例中,我们填充X轴和sin(2*X) 图之间的区域:

import numpy as np
import matplotlib.pyplot as plt
n = 256
X = np.linspace(-np.pi,np.pi,n,endpoint=True)
Y = np.sin(2*X)
plt.plot(X, Y, color='blue', alpha=1.00)
# plt.fill_between(X, 0.1, 0.75, color='blue', alpha=.1)
plt.fill_between(X, 0.1, Y, color='blue', alpha=.1)
plt.show()

在这里插入图片描述
fill_between的一般语法:
fill_between(x, y1, y2=0, where=None, interpolate=False, **kwargs)

fill_between的参数:
x x数据的N长度数组
y1 y数据的N长度数组(或标量)
y2 y数据的N长度数组(或标量)
where 如果是None,则默认在所有位置之间填充。 如果不是None,则它是一个N长度的numpy布尔数组,并且填充只会在where == True的区域上发生。
interpolate 如果为True,则在两条线之间进行插值以找到精确的交点。否则,填充区域的起点和终点将仅出现在x数组中的显式值上。
kwargs传递给PolyCollection

import numpy as np
import matplotlib.pyplot as plt
n = 256
X = np.linspace(-np.pi,np.pi,n,endpoint=True)
Y = np.sin(2*X)
plt.plot (X, Y, color='blue', alpha=1.00)
plt.fill_between(X, Y, 1, color='blue', alpha=.1)
plt.show()

在这里插入图片描述

6.设置Spines

matplotlib中的连接轴刻度标记并指示数据区域边界的线。
(Spines in matplotlib are the lines connecting the axis tick marks and noting the boundaries of the data area.)
我们将在下面展示spines可以放置在任意位置。
我们用到了gca函数,它返回figure上个当前的axes实例。

Spines就是图的上面和右边的边线。

import numpy as np
import matplotlib.pyplot as plt

X = np.linspace(-2 * np.pi, 2 * np.pi, 70, endpoint=True)
F1 = np.sin(2* X)
F2 = (2*X**5 + 4*X**4 - 4.8*X**3 + 1.2*X**2 + X + 1)*np.exp(-X**2)

# get the current axes, creating them if necessary:
ax = plt.gca()
# making the top and right spine invisible:
ax.spines['top'].set_color('red')
ax.spines['right'].set_color('green')
# moving bottom spine up to y=0 position:
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',-0.5))
# moving left spine to the right to position x == 0:
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',-2.1))
plt.plot(X, F1)
plt.plot(X, F2)
plt.show()

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂作权的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值