新葡萄京娱乐场官方网站


  • 免费服务热线
  • 400-065-6886
  • 电话:86(0)512-6295 9990
  • 传真:86(0)512-6295 9995
资讯中心

pandas和matplotlib绘制简单图形

发稿时间:2020-10-12来源:新葡萄京娱乐场官方网站生物



上周,大家先容了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相关App及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靶基因预测App__miRWalk 3.0

6、医学数据分析

KING: 样本亲缘关系鉴定工具

【WGS服务升级】人工智能AppSpliceAI助力解读罕见和未确诊疾病中的非编码突变

隐性疾病trio家系别忽视单亲二倍体现象——新葡萄京娱乐场官方网站数据分析助力临床疾病诊断新添UPD(单亲二倍体)可视化分析工具

【昊工具】Oh My God! 太好用了吧!疾病或表型的关键基因查询数据库,我不允许你不知道Phenolyzer



新葡萄京娱乐场官方网站客户服务中心

手机/微信号:18964693703

【本群将为大家提供】

分享生信分析方案

提供数据素材及分析App支撑

定期开展生信分析线上讲座

QQ号:1040471849

编辑:大熊

审核:有才

来源:新葡萄京娱乐场官方网站生信团

新葡萄京娱乐场官方网站-新葡萄京官网 2012-2020 新葡萄京娱乐场官方网站    All Rights Reserved    苏ICP备17064027号-1
XML 地图 | Sitemap 地图