折线图图表元素的综合运用

需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:

(1)正弦曲线的样式:红色、线宽为1.0;

(2)余弦曲线的样式:蓝色、线宽为1.0,透明度为0.5;

(3)x轴的刻度标签为“-π”、“-π/2”、“0”、“π/2”、“π”;

(4)在x=1、y=np.cos(1)的位置添加指向型注释文本;

(5)为正弦曲线和余弦曲线封闭起来的区域填充绿色,透明度为0.25。

最终的效果见运行结果图示。

导入必要模块:
import numpy as np
import matplotlib.pyplot as plt
 准备图表数据:
# 画布
fig = plt.figure()
ax = fig.add_subplot(111)

x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
绘制图表:
cos = plt.plot(x, y_cos, color='r', linewidth=1.0, label='cos')
sin = plt.plot(x, y_sin, color='b', linewidth=1.0, alpha=0.5, label='sin')
 添加辅助元素:
plt.title('Cos & Sin')
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
           [r'$-\pi$', r'$-\pi/2$', r'$0$', '$\pi/2$', '$\pi$'])
plt.yticks([-1, -0.5, 0, 0.5, 1], ['-1.0', '-0.5', '0.0', '0.5', '1.0'])
plt.legend(loc='upper left', fancybox=True)
plt.grid()
plt.annotate('cos(1)',(1,np.cos(1)),(1.35,np.cos(1)+0.25),arrowprops={'arrowstyle':'->'})

plt.fill_between(x,y_cos, y_sin, y_cos > y_sin, color='g', alpha=0.25)
 
# 展示图表
plt.show()

plt.fill_between()

函数参数说明:

作用:填充两条水平曲线之间的区域

x:表示x轴坐标的序列

y_cos:表示第一条曲线的y轴坐标

y_sin:表示第二条曲线的y轴坐标

color:表示填充的颜色

alpha:表示填充颜色的透明度,透明度的值越大,越明显

plt.show()表示将所绘制的图表展示在屏幕上

 

整体代码如下: 
import numpy as np
import matplotlib.pyplot as plt
 

x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
labels = ['COS', 'SIN']

cos = plt.plot(x, y_cos, color='r', linewidth=1.0, label='cos')
sin = plt.plot(x, y_sin, color='b', linewidth=1.0, alpha=0.5, label='sin')

plt.title('Cos & Sin')
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
           [r'$-\pi$', r'$-\pi/2$', r'$0$', '$\pi/2$', '$\pi$'])
plt.yticks([-1, -0.5, 0, 0.5, 1], ['-1.0', '-0.5', '0.0', '0.5', '1.0'])
plt.legend(loc='upper left', fancybox=True)
plt.grid()
plt.annotate('cos(1)',(1,np.cos(1)),(1.35,np.cos(1)+0.25),arrowprops={'arrowstyle':'->'})

plt.fill_between(x,y_cos, y_sin, y_cos > y_sin, color='g', alpha=0.25)
 
plt.show()
运行结果图如下: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值