Python 使用 matplotlib 绘制常见曲线
【摘要】 matplotlib概述Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形官网地址 https://matplotlib.org/ 代码实战 代码说明编辑器采用的是 anaconda 自带的 Sypder sigmoid曲线sigmoid曲线公式如下,可将值域限定在(0,1),在深度学习目标分类检测中常常用到,可限定坐标...
matplotlib概述
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形
安装命令
在 anaconda 中,可以使用pip命令进行安装或升级
安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
升级
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U matplotlib
-i
: 指定库的安装源 清华源-U
: 升级 原来已经安装的包,不带U不会装新版本,带上U才会更新到最新版本
代码实战
代码说明
编辑器采用的是 anaconda 自带的 Sypder
sigmoid曲线
sigmoid曲线公式如下,可将值域限定在(0,1),在深度学习目标分类检测中常常用到,可限定坐标范围、分类概率
import numpy as np
import math
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.1)
y = []
for t in x:
y_1 = 1 / (1 + math.exp(-t))
y.append(y_1)
plt.plot(x, y, label="sigmoid")
plt.xlabel("x")
plt.ylabel("y")
plt.ylim(0, 1)
plt.legend()
plt.show()
sin & cos曲线
import numpy as np
import matplotlib.pyplot as plt
#sin & cos曲线
x = np.arange(0, 6, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y1,label="sin")
plt.plot(x,y2,label="cos",linestyle = "--")
plt.xlabel("x")
plt.ylabel("y")
plt.title('sin & cos')
plt.legend() #打上标签
plt.show()
lanczos曲线
lanczos曲线常常用在图像插值中,这个算法在放大和缩小中都能较好的抵制锯齿,在插值时,不仅有正的插值系数,也有负的系数,比较适用于自然图像。
import numpy as np
import matplotlib.pyplot as plt
#lanczos曲线
x = np.arange(-6, 6, 0.1)
a1 = 2
a2 = 3
a3 = 5
y1 = np.sinc(x) * np.sinc(x/a1)
y2 = np.sinc(x) * np.sinc(x/a2)
y3 = np.sinc(x) * np.sinc(x/a3)
plt.plot(x,y1,label="a=2")
plt.plot(x,y2,label="a=3",linestyle="--")
#plt.plot(x,y3,label="a=5",linestyle="--")
plt.title('sinc')
plt.legend() #打上标签
plt.show()
jpeg编码的qp曲线
jpeg的quality参数对应DCT变换的量化程度,quality(0-100)值越高,表示量化损失越小,编码质量越好。
import numpy as np
import matplotlib.pyplot as plt
#jpeg编码的qp曲线
x = np.arange(0.1, 100, 0.1) #从0.1到100,间隔0.1取点
y = []
for t in x:
if t < 50:
y_1 = 5000 / t
else:
y_1 = 200 - t * 2
y.append(y_1)
plt.plot(x, y, label="qp-quality")
plt.xlabel("quality")
plt.ylabel("qp")
plt.ylim(0, 500)
plt.legend() #显示label
plt.show()
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)