matplotlib基础绘图命令之plot
在matplotlib中,plot命令主要用于绘制折线图, 基本用法如下
>>> import matplotlib.pyplot as plt
>>> plt.plot([1, 2, 3, 4], [1, 2, 3, 4])
输出结果如下
第一个参数的值作为x轴坐标,第二个参数的值作为y轴坐标,从而绘制折线图。当只提供一个数值参数时,自动将其作为y轴坐标,x轴坐标为对应的数值下标,示例如下
>>> plt.plot([1, 2, 3, 4])
输出结果如下
当我们想要对dict或者pandas DataFrame中的数据进行绘图时,可以采用如下语法
>>> import pandas as pd
>>> data_dict = pd.DataFrame({'xlabel':[1, 2, 3, 4], 'ylabel':[1, 2, 3, 4]})
>>> plt.plot('xlabel', 'ylabel', data=data_dict)
对于可以用data['xlabel']方式访问的数据,不在需要显示的指定具体的值,而是通过结合data参数,只需要提供名称即可。
尽管plot命令主要用于绘制折线图,但是通过控制其参数,也可以用于绘制散点图以及散点和折线的组合图,示例如下
1. 散点图
>>> import numpy as np
>>> x = np.array([1, 2, 3, 4])
>>> y = np.array([1, 2, 3, 4])
>>> plt.plot(x,y,'o')
输出结果如下
2. 散点图和直线图的叠加
>>> plt.plot(x,y,marker='o', linestyle='--', linewidth=2)
输出结果如下
通过调整参数,可以实现不同的可视化效果。plot命令的参数设置围绕点和线两个基本元素进行。对于点而言,拥有以下基本属性
1. 填充色, markerfillcolor, 简写为mec
2. 边框颜色,markeredgecolor, 简写为mfc
3. 边框的线条宽度,markeredgewidth, 简写为mfc
4.大 小, markersize, 简写为ms
5. 形状, marker
对于线而言,用于以下基本属性
1. 颜色, color, 简写为c
2. 宽度,linewidth, 简写为lw
3. 风格,实线还是虚线,linestyle. 简写为ls
对于颜色,在matplotlib中,其实是有多种设定的方法,这里只介绍最常用的一种,颜色的缩写,示意如下
对于点的形状,提供了多种取值,示意如下
对于线条的风格,取值如下
对于大部分参数,在标准名称之外,还提供了对应的简写,进一步较少代码量。plot命令的参数设置有多种写法
1. 单独设置
顾名思义,需要显示的指定每个参数的值,示例如下
>>> plt.plot(x,y,marker='o', linestyle='--', linewidth=2, color ='black', markersize=6)
输出结果如下
当然,简写也是可行的
>>> plt.plot(x,y,marker='o', ls='--', lw=2, c ='black', ms=6)
2. 混合设置
plot命令支持参数的混合设置,可以将marker, linestyle, color 3个参数混合到一起,示例如下
>>> plt.plot(x,y,'ko--' ,lw=2, ms=6)
注意,参数的混合是一种语法糖,在前面是没有具体的参数名称的,k是颜色black的简写,o对应marker参数,--对应linestyle参数, 在解析不会混淆的情况下,顺序没固定要求,不过官方更推荐以下顺序
[marker][linestyle][color]
该代码的输出结果和之前的代码输出结果完全相同,灵活运用各种语法糖,可以极大的减少代码量。
除了绘制单个线条,plot命令也支持多种线条的叠加,常见的有以下两种写法,第一种示例如下
>>> plt.plot(x, y, label = 'sampleA')
>>>plt.plot(x, y + 1, label = 'sampleB')
>>>plt.plot(x, y + 2, label = 'sampleC')
>>>plt.legend()
输出结果如下
第二种写法如下
>>> plt.plot(x, y, x, y + 1, x, y + 2)
>>> plt.legend(labels=['sampleA', 'sampleB', 'sampleC'])
输出结果如下
当在同一幅图片上绘制多条折线时,matplotlib有一个内置的调色盘,颜色梯度如下
'#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'
会自动根据调色盘,为每个折线设置不同的颜色,所以通常情况下,我们不需要手工设定每条线的颜色,这个默认的颜色梯度通过axes.prop_cycle参数设定。和R的base plot语法相比,matplotlib中的plot命令在绘制多条直线时更加的简洁直观。
·end·
—如果喜欢,快分享给你的朋友们吧—
原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
- Java分布式神经网络库Deeplearning4j之上手实践手写数字图像识别与模型训练
- 调用腾讯优图开放平台进行人脸识别-Java调用API实现
- Spring的事务传播行为
- Jquery 获取checkbox属性checked为undefined和改变状态 值不变
- Hibernate--Criteria Query and DetachedCriteria
- Python3 大作战之 encode 与 decode 讲解
- SpringMVC 文件下载时 浏览器不能正确显示另存的文件名
- 手把手教你用python抢火车票
- SpringMVC 实现多文件上传的两种方式及其效率比较
- Spring 之加载配置属性文件和注解属性绑定
- SpringMVC 提交表单400 Bad Request
- 如何在三年内快速成长为一名技术专家
- 【微信开发】getAccessToken 和 getJsapi_ticket缓存支持
- 微信JS-SDK 注入权限验证配置
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JavaScript 技术篇 - js通过xpath路径定位元素方法
- Python+selenium 自动化高级应用篇:借助pyautogui实现web前端带轨迹拖拽功能,解决ActionChains拖拽失效问题
- PG数据库版本查看方法,sql语句查pg数据库版本方法
- Linux下DM达梦数据库导入导出dmp文件实战演示,dexp和dimp命令详细使用方法
- oracle数据库imp导入失败提示:“不是有效的导出文件, 标头验证失败”解决方法,修改dmp文件里oracle数据库版本号方法
- BAT批处理文件无法运行提示“/E /I /Y ‘XCOPY‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”解决方法
- c语言之指针与数组知识点随笔
- Chrome 插件开发-右键菜单开发实战演示,浏览器页面右键菜单选项设置,插件右键菜单点击插件名跳转主页设置
- Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
- Python 技术篇-通过进程名称、PID杀死windows进程的两种方法,获取当前运行程序的pid
- MySQL 切换数据库、用户卡死:“You can turn off this feature to get a quicker startup with -A“处理方法
- MySQL 数据库mysqlbinlog使用问题:unknown variable ‘default-character-set=utf8‘.解决方法
- Python 技术篇-pip安装提示:‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件,问题解决方法
- Jaskson精讲第6篇-自定义JsonSerialize与Deserialize实现数据类型转换
- let和var和const