目录
1.加载包
2.数据读取
3.绘图
3.1折线图
3.2条形图
3.3散点图
3.4饼图
3.5箱体图
3.6直方图
3.7同一类型的一页多图
上周,我们介绍了python的groupby函数和NA值的填充,我们学会部分基础的数据处理方法。在获得基础数据后,我们为了探寻数据的规律,通常需要绘图挖掘数据意义。这里我们介绍python自带的基础绘图。
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
In [2]:
df = pd.read_excel('data/ASV/phylum.xlsx')
df
Out[2]:
折线图
plot 默认参数 kind=line ,以下3种写法等同。
df.plot(x='phylum',y='ST01')
df.plot(x='phylum',y='ST01',kind='line')
df.plot.line(x='phylum',y='ST01')
In [3]:
df.plot.line(x='phylum',y='ST01')
plt.show()
Out[3]:
x轴指定 phylum,由于phylum水平名称太长,故横坐标出来的图看不清。下图不指定x参数,则默认使用行名。
In [4]:
df.plot(y='ST01')
plt.show()
Out[4]:
In [5]:
df.plot(y=['ST01','ST02','ST03','ST04','ST05'])
plt.show()
Out[5]:
由图可知,5个样品趋势一致,且第4行和第24行的门是丰度最高的门。
条形图
In [6]:
df.plot.bar(x='phylum',y='ST01')
plt.show()
Out[6]:
In [7]:
df.plot.bar(x='phylum',y=['ST01','ST02','ST03','ST04','ST05'])
plt.show()
Out[7]:
kind = 'barh',则条形图水平绘制
In [8]:
df.plot.barh(x='phylum',y=['ST01','ST02','ST03','ST04','ST05'])
plt.show()
Out[8]:
散点图
In [9]:
df.plot.scatter(x='phylum',y='ST01')
plt.show()
Out[9]:
In [10]:
ax = df.plot.scatter(x='phylum',y='ST01',color='green',label='ST01')
df.plot.scatter(x='phylum',y='ST02',color='red',label='ST02',ax=ax)
plt.show()
Out[10]:
In [11]:
df.plot.scatter(x='ST01',y='ST02')
plt.show()
Out[11]:
饼图
In [12]:
df.plot.pie(y='ST01')
plt.show()
Out[12]:
饼图参数是y=,从上图可以看出,给出的标签值有问题。
In [13]:
df.index = df.phylum
df.plot.pie(y='ST01',legend=False)
plt.savefig('test.png')
Out[13]:
箱体图
In [14]:
df.plot.box(y='ST01')
plt.show()
Out[14]:
使用loc提取Cyanobacteria、Proteobacteria行的所有样品的丰度数据,并转置。此时Cyanobacteria、Proteobacteria变成列,对这两列数据绘制箱体图
df_sub.sample(5) 随机展示5行数据
In [15]:
df_sub = df.loc[['Cyanobacteria','Proteobacteria'],'ST01':'ST20'].T
df_sub.sample(5)
Out[15]:
In [16]:
df_sub.plot.box(y=['Cyanobacteria','Proteobacteria'])
plt.show()
Out[16]:
直方图
In [17]:
df_sub.plot.hist(y='Cyanobacteria')
plt.show()
Out[17]:
In [18]:
df_sub.plot.hist(y=['Cyanobacteria','Proteobacteria'])
plt.show()
Out[18]:
同一类型的一页多图
In [19]:
df.plot(kind='line',y=['ST01','ST02','ST03','ST04'],subplots=True,layout=(2,2),figsize=(20,10),title="Four Sample's Abundance")
plt.show()
往期相关链接:
1、R基础篇
excel不熟练怎么办,R来帮您(一)数据分类汇总;
如何使用Rstudio练习R基础教程;
R相关软件及R包安装;
【零基础学绘图】之气泡图绘制(六);
【零基础学绘图】之绘制venn图(五);
【零基础学绘图】之绘制barplot柱状图图(四);
【零基础学绘图】之绘制heatmap图(三);
【零基础学绘图】之绘制PCA图(二);
【零基础学绘图】之alpha指数箱体图绘制(一);
2、R进阶
ggplot2参数设置麻烦?试试ggpar!;
【绘图进阶】之带连线的箱体图绘制(8);
【绘图进阶】之配对箱体图绘制(七);
【绘图进阶】之通路与菌的相关性分析热图(六);
【绘图进阶】之lefse定制化绘图(五);
【绘图进阶】之六种带中心点的PCA 图和三维PCA图绘制(四);
【绘图进阶】之交互式可删减分组和显示样品名的PCA 图(三);
【绘图进阶】之绘制PCA biplot图(二);
【进阶篇绘图】之带P值的箱体图、小提琴图绘制(一);
3.python基础篇
Python入门到底有多简单(三):填充数据;
【Python入门到底有多简单】之groupby数据分类汇总(二);
Python入门到底有多简单(一):数据读写与输出;
4、数据提交
3分钟学会微生物多样性云平台数据分析;
3分钟学会CHIP-seq类实验测序数据可视化 —IGV的使用手册;
10分钟搞定多样性数据提交,最快半天内获取登录号,史上最全的多样性原始数据提交教程;
20分钟搞定GEO上传,史上最简单、最详细的GEO数据上传攻略;
5、表达谱分析
表达谱分析(二)通路富集分析和基因互作网络图绘制;
如何对GEO数据进行差异分析;
miRNA靶基因预测软件__miRWalk 3.0;
6、医学数据分析
KING: 样本亲缘关系鉴定工具;
【WGS服务升级】人工智能软件SpliceAI助力解读罕见和未确诊疾病中的非编码突变;
隐性疾病trio家系别忽视单亲二倍体现象——天昊数据分析助力临床疾病诊断新添UPD(单亲二倍体)可视化分析工具;
【昊工具】Oh My God! 太好用了吧!疾病或表型的关键基因查询数据库,我不允许你不知道Phenolyzer;
【本群将为大家提供】
分享生信分析方案
提供数据素材及分析软件支持
定期开展生信分析线上讲座
QQ号:1040471849
作者:大熊
审核:有才
来源:天昊生信团
微信扫一扫
关注该公众号
前往“发现”-“看一看”浏览“朋友在看”