前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python实现基本初等函数可视化

使用Python实现基本初等函数可视化

作者头像
生信菜鸟团
发布2020-08-11 16:16:49
8930
发布2020-08-11 16:16:49
举报
文章被收录于专栏:生信菜鸟团

可视化是直观查看数据分布的有效方式,当然python也不会缺席。

今天的推送就探索一下基础函数的绘制方式,例如下图:

Matplotlib

Matplotlib 是第一个Python数据可视化库,是python社区中使用最广泛的绘图库。其设计风格非常类似于1980年代开发的专有编程语言MATLAB,它提供了与MATLAB命令相似的API,常见包如 pandas 和 Seaborn 都会调用matplotlib。

在官方介绍中,Matplotlib主要的图像组件可以参考下图(翻译来自网络):

安装

代码语言:javascript
复制
# 安装Matplotlib
pip install Matplotlib 
# 如果出现因下载失败导致安装不上的情况,可以先启动 ss 再执行安装命令
# 或者在终端中使用代理
pip --proxy http://代理ip:端口 install Matplotlib 

绘制目标:

绘制以后,就会有极多的应用场景。比如解析不等式的满足区间,比较...

绘制代码

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

x = np.linspace(0.0,100.0,100)

y1 = x/4      # 曲线 y1
y2 = 50 - x      # 曲线 y2

# 标注曲线
plt.plot(x, y1, label=r'$y1 = x/4$')
plt.plot(x, y2, label=r'$y2 = 50 - x$')

plt.xlim((0.0, 100.000))
plt.ylim((0.0, 100.000))
plt.xlabel(r'$X$')
plt.ylabel(r'$Y$')

# 绘制阴影部分
plt.fill_between(x, y1, y2, where=y1<y2, color='grey', alpha=0.5)

# 设置横轴精准刻度
plt.xticks([i for i in range(0,100,5)])
# 设置纵轴精准刻度
plt.yticks([i for i in range(0,100,5)])

# 注释
plt.scatter([40], [10], s=20, color="blue")  
plt.annotate("(40, 10)",
             xy=(40, 10),     
             fontsize=12,       
             xycoords='data')  # xycoords='data' 是说基于数据的值来选位置

# 图例
plt.grid(True, linestyle='-.')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)

# 保存
#plt.savefig('ordering_constraints.png',dpi=300,bbox_inches='tight')
plt.show()

除了绘图,我们还使用了numpy 包,主要目的是创建一个数组 np.linspace,用于绘图。在坐标轴设置上,使用了列表生成式,批量的完成坐标点刻度分布,并绘制网格背景。注释的点和文字是要分开加的,支持字体大小、图例和颜色修改。最后保存图片可以设置像素比例,也可以直接使用 plt.show() 直接查看。整体绘图逻辑不难,需要稍微理解的一下的是绘制阴影部分的 plt.fill_between() 这个方法,修改参数既可以调整成想表达范围。

好了,今天有点像暑假作业的绘图就到这里啦。

不同的绘图包有各自的优缺点,正如Chris Moffitt 所说,matplotlib「功能非常强大,但随之而来的却是复杂性」。我们下期见。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Matplotlib
  • 安装
  • 绘制代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档