使用面向对象给图表添加辅助元素

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

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

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

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

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

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

 1.2  最终的效果见运行结果图示:

#导入模块

import numpy as np
import matplotlib.pyplot as plt
# 创建画布
fig = plt.figure()

# 在画布上添加绘图区域

ax = fig.add_subplot(111)
# 1.准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
# 2.绘制折线
ax.plot(x, y_cos, color='blue', linewidth=1.0, alpha=0.5, label='COS')
ax.plot(x, y_sin, color='red', linewidth=1.0, label='SIN')
# 3.#图表元素定制(图表标题,刻度标签,图例,网格,指向型注释文本)

#3.1 设置图表标题
ax.set_title("Cos & Sin")

#3.2 #设置图例

ax.legend(['COS','SIN'],loc='upper left')

#3.3 设置x轴、y轴刻度标签

ax.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], ['-π', '-π/2', '0', 'π/2', 'π'])
ax.set_yticks([1.0, 0.5, 0.0, -0.5, -1.0])

#3.4 设置网格 (显示网格,网格宽度0.3)

ax.grid(linewidth=0.5)

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

ax.annotate("cos(1)", xy=(1,np.cos(1)),xytext=(1.2,0.8),arrowprops={'arrowstyle':'->'})

#4 图表样式美化(填充颜色)

ax.fill_between(x, y_sin, y_cos, where=y_sin <= y_cos, facecolor='green', alpha=0.25)

#展示图表

plt.show()

代码运行如下图所示:

更多使用方法请参考官方网址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值