我是一个完整的MATLAB新手,我的第一个任务是创建一个火山图。我一直在使用文献资料来了解它并开始工作。
我正在使用下面的虚拟数据来开始-
Fer1l6 0 0.116815 3.39E-07
Selenoo 0.231255 2.104358 3.17E-06
Myh9 0 0 3.52E-05
SCARNA8 0 0 5.90E-05
7SK 0.4105501 1.593424 7.53E-05
Cnksr1 0.2652796 0.276202 0.000142596
Kcng3 0 0.947934 0.0003170
Acaa1b 0.97177 2.25452 0.0003906
adsf 0.44 0.35 0.3这里,第一列代表gene_name,第二列代表条件1,第三列代表基因表达值,第三列代表条件2,最后一列代表P-值。我将这些数据保存在Excel文件中。
现在,为了创建火山图,我编写了以下代码-
filename='quant_data_for_volcano.xlsx';
youngdata=xlsread(filename,'B:B')
olddata=xlsread(filename,'A:A')
pvalues=xlsread(filename,'C:C')
gene_labels=xlsread(filename,'D:D')
SigStructure = mavolcanoplot(youngdata, olddata, pvalues, 'LogTrans', true, 'Labels', gene_labels)我的理解是,“标签”论点采用了各种基因的标签(本例中为gene_names)。然而,当我运行这段代码时,它并没有给我图形用户界面中的gene_name标签,而是给出了作为基因标签的行号--,这是当我不提供任何标签时应该做的事情!!
我已经将输出GUI作为图片附加-正如您可以看到的那样,基因的标签只是数字(与行号相对应)。
手册上说标签应该是一个单元阵列,‘我不确定这是否重要,如果是,那么如何实现它。任何帮助都是很好的!

发布于 2017-10-04 00:25:29
由于您已经知道mavolcanoplot()需要一个单元阵列,所以您希望xlsread()返回一个单元格数组,而不是一个矩阵:
[num, gene_labels]=xlsread(filename,'D:D') % (num is a matrix while gene_labels is a cell array)https://stackoverflow.com/questions/46553217
复制相似问题