matlab scatter函数绘制实心点_使用Python实现基本初等函数可视化

可视化是直观查看数据分布的有效方式,当然python也不会缺席。之前的几篇推送我们聊过目前主要的python绘图包及数据分析方法。

适用于任何学科| 10个好用的 Python数据可视化库

好看又好用的python可视化包

4种绘制带误差线的柱形图

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

e1ff089187aa97cffa680513fcaa0418.png

Matplotlib 

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

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

76594b0c34ad262107e2367433ae7faa.png

安装

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

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

绘制代码

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'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() 这个方法,修改参数既可以调整成想表达范围。


相关内容推荐

图解NumPy包一文就够了

NumPy正确食用指南

一行代码的优雅| Python列表生成式

Python语言基础50课(3)|一行代码统计序列ATCG含量


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

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


推荐阅读

如何将pdf转换为word 3.0

使用 Python 操作 word文档

如何在 Rstudio 中使用 python 语言 (图文详解)

新冠疫情下的生信分析 | fastv

参考资料

python_matplotlib中用两种方法画线性规划图

Python 绘图,我只用 Matplotlib(二)


文末友情推荐

要想真正入门生物信息学建议务必购买全套书籍,一点一滴攻克计算机基础知识,书单在:什么,生信入门全套书籍仅需160 。如果大家没有时间自行慢慢摸索着学习,可以考虑我们生信技能树官方举办的学习班:

•数据挖掘学习班第5期(线上直播3周,马拉松式陪伴,带你入门),原价4800的数据挖掘全套课程, 疫情期间半价即可抢购。•生信爆款入门-第7期(线上直播4周,马拉松式陪伴,带你入门),原价9600的生信入门全套课程,疫情期间3.3折即可抢购。

如果你课题涉及到转录组,欢迎添加一对一客服:详见:你还在花三五万做一个单细胞转录组吗?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值