r语言ggplot函数2如何让x轴坐标刻度有长短之分,比如整数长一些,其他短一些?

利用ggplot2画双坐标轴曲线
我的图书馆
利用ggplot2画双坐标轴曲线
library(ggplot2)
library(gtable)
library(grid)
grid.newpage()
p1 &- ggplot(mtcars, aes(mpg, disp)) + geom_line(colour = "blue") + theme_bw()
p2 &- ggplot(mtcars, aes(mpg, drat)) + geom_line(colour = "red") + theme_bw() %+replace%
theme(panel.background = element_rect(fill = NA))
g1 &- ggplot_gtable(ggplot_build(p1))
g2 &- ggplot_gtable(ggplot_build(p2))
pp &- c(subset(g1$layout, name == "panel", se = t:r))
g &- gtable_add_grob(g1, g2$grobs[[which(g2$layout$name == "panel")]], pp$t,
pp$l, pp$b, pp$l)
ia &- which(g2$layout$name == "axis-l")
ga &- g2$grobs[[ia]]
ax &- ga$children[[2]]
ax$widths &- rev(ax$widths)
ax$grobs &- rev(ax$grobs)
ax$grobs[[1]]$x &- ax$grobs[[1]]$x - unit(1, "npc") + unit(0.15, "cm")
g &- gtable_add_cols(g, g2$widths[g2$layout[ia, ]$l], length(g$widths) - 1)
g &- gtable_add_grob(g, ax, pp$t, length(g$widths) - 1, pp$b)
ia &- which(g2$layout$name == "ylab")
ga &- g2$grobs[[ia]]
ga$rot &- 270
g &- gtable_add_cols(g, g2$widths[g2$layout[ia, ]$l], length(g$widths) - 1)
g &- gtable_add_grob(g, ga, pp$t, length(g$widths) - 1, pp$b)
grid.draw(g)
推一荐:&&|&&
[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢苹果/安卓/wp
积分 197, 距离下一级还需 63 积分
权限: 自定义头衔
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡下一级可获得
权限: 签名中使用图片道具: 变色卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 5 天连续签到: 1 天[LV.2]偶尔看看I
x=abs(rnorm(10))
pp=seq(0.1,1,by=0.1)
sx=array(0,10,1)
for(i in 1:10)
&&sx=sum(x[1:i])
DataCumPer=data.frame(CUM=sx,PP=pp)#一定要转换成数据框
p=ggplot(DataCumPer,aes(CUM,PP))
p=p+geom_line(linetype=&dotted&,size=I(0.8))#设置线型和粗细
p=p+xlab(&累积和&)#横轴标签
p=p+geom_point(size=I(3),shape=I(18))#设置形状和大小
p=p+ylab(&百分位点&)#纵轴标签
p=p+opts(axis.title.x= theme_text(size = 15,color=&red&))#设置字体和颜色
p=p+opts(axis.title.y= theme_text(size = 15))
p=p+scale_y_continuous(formatter = &percent&,breaks =pp)#设置格式为百分比,10%为一档
p=p+opts(title=&帕累托图&,plot.title = theme_text(size = 20,face=&bold&,vjust=1.5))#设置图的标题
p#显示结果
23:36:24 上传
程序有点小小问题,以下才能获得正确结果
library(ggplot2)
x=abs(rnorm(10))
pp=seq(0.1,1,by=0.1);pp
sx=array(0,10,1);sx
for(i in 1:10)
&&sx[i]=sum(x[1:i])
DataCumPer=data.frame(CUM=sx,PP=pp)#一定要转换成数据框
p=ggplot(DataCumPer,aes(CUM,PP))
p=p+geom_line(linetype=&dotted&,size=I(0.8))#设置线型和粗细
p=p+xlab(&累积和&)#横轴标签
p=p+geom_point(size=I(3),shape=I(18))#设置形状和大小
p=p+ylab(&百分位点&)#纵轴标签
p=p+opts(axis.title.x= theme_text(size = 15,colour=&red&))#设置字体和颜色
p=p+opts(axis.title.y= theme_text(size = 15,colour=&blue&))#设置字体和颜色
p=p+scale_y_continuous(formatter = &percent&,breaks =pp)#设置格式为百分比,10%为一档
p=p+opts(title=&帕累托图&,plot.title = theme_text(size = 20,face=&bold&,vjust=1.5))#设置图的标题
p#显示结果
(46.63 KB)
08:49:03 上传
热心帮助其他会员
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
吉林小王子 发表于
程序有点小小问题,以下才能获得正确结果
library(ggplot2)library(ggplot2) 忘记加载包了!在Rstudio里面编辑&&我已经预加载了,所以就忘记添加了
ethantung 发表于
library(ggplot2) 忘记加载包了!在Rstudio里面编辑&&我已经预加载了,所以就忘记添加了for循环里面的sx要加下标,设置颜色,参数为colour不是color,
吉林小王子 发表于
for循环里面的sx要加下标,设置颜色,参数为colour不是color,哦 是的。写错了。ggplot使用的是英式英语
吉林小王子 发表于
程序有点小小问题,以下才能获得正确结果
library(ggplot2)0.90版ggplot的兼容性问题
require(ggplot2)
require(scales) # 0.90版必须要加载的
x=abs(rnorm(10))
pp=seq(0.1,1,by=0.1);pp
sx=array(0,10,1);sx
for(i in 1:10)
&&sx=sum(x[1:i])
DataCumPer=data.frame(CUM=sx,PP=pp)#一定要转换成数据框
p=ggplot(DataCumPer,aes(CUM,PP))
p=p+geom_line(linetype=&dotted&,size=I(0.8))#设置线型和粗细
p=p+xlab(&累积和&)#横轴标签
p=p+geom_point(size=I(3),shape=I(18))#设置形状和大小
p=p+ylab(&百分位点&)#纵轴标签
p=p+opts(axis.title.x= theme_text(size = 15,colour=&red&))#设置字体和颜色
p=p+opts(axis.title.y= theme_text(size = 15,colour=&blue&))#设置字体和颜色
p=p+scale_y_continuous(labels = percent,breaks=pp)#设置格式为百分比,10%为一档(0.90版)
p=p+opts(title=&帕累托图&,plot.title = theme_text(size = 20,face=&bold&,vjust=1.5))#设置图的标题
p#显示结果
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师先声明一下所用的数据集
第一个图如下
这个图主要在于x轴的顺序设置上,如果按不做任何处理的话&3那个就会在2之前,解决方法是b[,1]&-factor(b[,1],levels=c('2','3',"&3")),这句代码可以重新设置因子的级别
完整代码如下:
a[,1]&-factor(a[,1],levels=c('2','3',"&3"))
ggplot(a,aes(x=a[,1],y=a[,2]))+geom_bar(stat="identity")+xlab('转录本数目')+ylab('主导转录本百分比')
第二个图如下:
这个图的关键在于要求颜色是黑白,代码如下
col&-c("black","gray")
ggplot(data = c, aes(c1, c3, fill = c[,2])) +geom_bar(stat = 'identity', position = 'dodge')+
xlab(' ')+ylab('个数')+ scale_fill_manual(values = col)+theme(legend.position='none')+
geom_text(aes(label = c[,2]), position = position_dodge(0.9),vjust=-0.2)
其中scale_fill_manual(values = col)是用来自定义颜色的
【ggplot】复杂柱状图:自定义颜色、标签、位置、坐标轴和主题
一直想有机会好好梳理下ggplot的图形,但是一般情况下ggplot常用的图形还是一些线图和柱状图,但是使用ggplot的好处(对比excel)就是R在处理大数据可以不用切换软件直接截取,但是坏处就是...
ggplot2颜色设置
10:09:44手动指定颜色及顺序
改变颜色的透明度
直接改变调色板
其它颜色及调色板相关信息
默认调色板
利用R语言画图时经常用到不同的颜色,如何手动设...
R语言作图:坐标轴设置
要绘制一张赏心悦目的统计图表,坐标轴的设置至关重要。在R语言底层作图中,对坐标轴的调整主要通过调整plot函数、axis函数和title函数的一系列参数完成。
plot(x,y, ...)
ggplot2 调整图像颜色
在 R 中,如何使用 ggplot2 来调整数据图像中的颜色?另外,ggplot2 中默认的颜色配置都具有相等的亮度,这有时会使得色块间难以区分,对于色盲朋友们来说是十分不友好的。为了解决这个问题,最...
ggplot2改变柱状图的顺序
library(ggplot2)
library(ggthemes)
dt = data.frame(obj = c('A','D','B','E','C'),
val = c(2,15,6,...
R语言ggplot2包之坐标轴
引言我们还可以对图形中的坐标轴进行处理,包括x、y轴对换、设定坐标轴范围、刻度线修改与去除等等。要想对图形玩得转,坐标轴处理精通不可或缺。坐标轴对换我们使用coord_flip()函数来对换坐标轴。l...
【R语言】柱状图+自动颜色+横向+添加文本+更改坐标轴范围
文件:data.txt
splice_region
5_prime_UTR
3_prime_UTR
R语言绘图样式设置(符号、线条、颜色、文本属性)
设置图像样式有两种方法,一种是全局修改,一种只针对一幅图片有效。全局修改[python] view plain copya&-c(1:10)
old_par&...
没有更多推荐了,终于,我也出了篇R语言入门手册!
作者:周运来,男,长大了才会遇到的帅哥,稳健,潇洒,大方,靠谱。大型测序工厂的螺丝钉,一个R者,一个随机森林中靠统计觅食的人。
1. 什么是R语言
R语言是一个开源的数据分析环境,起初是由数位统计学家建立起来,以更好的进行统计计算和绘图,这篇wiki中包含了一些基本情况的介绍。由于R可以通过安装扩展包(Packages)而得到增强,所以其功能已经远远不限于统计分析,如果感兴趣的话可以到官方网站了解关于其功能的更多信息。
至于R语言名称的由来则是根据两位主要作者的首字母(Robert Gentleman and Ross Ihaka),但过于简短的关键词也造成在搜索引擎中很不容易找到相关的资料。不过这个专门的搜索网站可以帮到你。
2. 为什么要学习R语言
给你一千个R的理由( 地址: https://www.burns-stat.com/documents/tutorials/why-use-the-r-language/ )可能你想说,“我已经学会了spss/sas/stata...,为什么还要去学习R呢?”
如下几方面可能会吸引到你:
编程入门语言: 如果你之前没有编程经验,但是学习工作中经常需要计算、统计、绘图,那R是你的首选(Python也许不太同意,不管他)。语法结构简单,上手较快,而且函数和pckages都有很好的实例文档。R是一门自学型语言,来R吧,你不会孤独。
R是免费开源软件:现在很多学术期刊都对分析软件有版权要求,而免费的分析工具可以使你在这方面不会有什么担心。另一方面,如果学术界出现一种新的数据分析方法,那么要过很长一段时间才会出现在商业软件中。但开源软件的好处就在于,很快就会有人将这种方法编写成扩展包,或者你自己就可以做这件工作。
命令行工作方式:许多人喜欢类似SPSS菜单式的操作,这对于初学者来说很方便入门,但对于数据分析来说,命令行操作会更加的灵活,更容易进行编程和自动化处理。而且命令行操作会更容易耍酷,不是嘛,一般人看到你在狂敲一推代码后得到一个分析结果,对你投来的目光是会不一样的。
小巧而精悍:R语言的安装包更小,大约不到40M,相比其它几个大家伙它算是非常小巧精悍了。目前R语言非常受到专业人士欢迎,根据对数据挖掘大赛胜出者的调查可以发现,他们用的工具基本上都是R语言。此外,从最近几次R语言大会上可以了解到,咨询业、金融业、医药业都在大量的使用R语言,包括google/facebook的大公司都在用它。因此,学习R语言对你的职业发展一定是有帮助的。
3. R语言的学习方法
学习R是一件非常轻松的事情,初学者需要记住的就是:
利用丰富的帮助文档
亲手键入代码并理解其意义
在笔记里记下一些重点或心得(个人推荐Evernote)
坚持练习,对手边的数据进行应用分析
理解背景知识,细节很重要。
R包(package):R函数、数据、帮助文件、预编译代码以一种定义完善的格式组成的集合。
.libPaths("E:/Rstudio/R_packages") #指定安装包的路径联网安装install.packages(“vegan”) #安装普通包source(“https://bioconductor.org/biocLite.R”)#安装Bioconductor包biocLite("DESeq2")安装本地zip包Packages&install packages from local fileslibrary(vegan) #加载包,也可用require()update.packages("vegan") #包的更新installed.packages() #查看已安装的包
1.基础数据结构1.1 向量# 创建向量a &-c(1, 2, 3, 4, 5, 6)b&-c("one", "two", "three")c&-c(TRUE, FALSE, TRUE, TRUE, FALSE)#向量索引a[2] #第二个元素a[-2] #删除第二个元素a[c(2:4)] #取出第二到第四个元素[1] 2[1] 2[1] 1 3 4 5 6
1.2 矩阵#创建矩阵mymat &- matrix(c(1:10), nrow=2, ncol=5, byrow=TRUE)#矩阵索引mymat[2,] #取第二行mymat[,2] #取第二列mymat[1,5] #第一行第五列的元素
1.3 数组#创建数组myarr &- array(c(1:12),dim=c(2,3,2))dim(myarr) #取矩阵或数组的维度myarr[1,2,1] #取第一个矩阵的第一行第二列1.4 数据框
# 创建数据框kids &- c("Wang", "Li")age &- c("18", "16")df &- data.frame(kids, age)#数据框索引df[1,] #第一行df[,2] #第二列df[1:2,1:2]#前两行,前两列df$kids #根据列名称#数据框常用函数str(df) #数据框的结构rownames(df) #行名称colnames(df) #列名称
1.4.1 因子变量
变量:类别变量,数值变量
类别数据对于分组数据研究非常有用。(男女,高中低)
R中的因子变量类似于类别数据。
#向量因子化status&-c("Poor", "Improved", "Excellent", "Poor") status&-factor(status,ordered=TRUE, levels= c("Poor","Improved", "Excellent"), labels=c("P","I","E"))index &- sample(1:100,75)plotdata &- data.frame(index,status)attach(plotdata)boxplot(index~status,col="red")
类别变量,有序变量称为因子,决定了数据的分析方式和视觉呈现形式
Attach()可以将数据框添加到R的搜索路径中,当R遇到一个变量名后,将检测搜索路径中的数据框,定位这个变量
列表以一种简单的方式组织和调用不相干的信息,R函数的许多运行结果都是以列表的形式返回
#创建列表lis &- list(name='fred', wife='mary', no.children=3, child.ages=c(4,7,9))#列表索引lis$name #列表组件名lis[[1]] #列表位置访问常用函数
p &- 0.1 if(p&=0.05){ print("p&=0.05!")}else{ print("p&0.05!")}
for(i in 1:10) { print(i)}i &- 1while(i&10) { print(i) i &- i + 1 }
v &- LETTERS[1:6]for (i in v){ if(i == 'D'){ next } print(i)}
v &- LETTERS[1:6]for (i in v){ if(i == 'D'){ break } print(i)}
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
rcal&-function(x,y){ z &- x^2 + y^2; result&-sqrt(z) ;}rcal(3,4)# 调用函数
3. 读写数据#数据读入
setwd('C:/Users/Administrator/Desktop/file')dir()top&-read.table("otu_table.p10.relative.tran.xls",header=T,row.names=1,sep='t',stringsAsFactors = F)top10&-t(top)head(top10, n=2)#数据写出logtop10&-log(top10+0.000001)write.csv(logtop10,file="logtop10.csv", quote=FALSE, row.names = TRUE)write.table(logtop10,file="logtop10.xls",sep="t", quote=FALSE, row.names = TRUE, col.names = TRUE)
其他常用函数
4.数据清理
4.1 tidyr包
tidyr包的四个函数
宽数据转为长数据:gather()
长数据转为宽数据:spread()
多列合并为一列: unite()
将一列分离为多列:separate()
library(tidyr)gene_exp &- read.table('geneExp.csv',header = T,sep=',',stringsAsFactors = F)head(gene_exp) #gather 宽数据转为长数据gene_exp_tidy &- gather(data = gene_exp, key = "sample_name", value = "expression", -GeneID)head(gene_exp_tidy)#spread 长数据转为宽数据gene_exp_tidy2&-spread(data = gene_exp_tidy, key = "sample_name", value = "expression")head(gene_exp_tidy2)
4.2 dplyr包
dplyr包五个函数用法:
筛选: filter
排列: arrange()
选择: select()
变形: mutate()
汇总: summarise()
分组: group_by()
library(tidyr)library(dplyr)gene_exp &- read.table("geneExp.csv",header=T,sep=",",stringsAsFactors = F)gene_exp_tidy &- gather(data = gene_exp, key = "sample_name", value = "expression", -GeneID)#arrange 数据排列gene_exp_GeneID &- arrange(gene_exp_tidy, GeneID)#降序加deschead(gene_exp_GeneID )#filter 数据按条件筛选gene_exp_fiter &- filter(gene_exp_GeneID ,expression&10)head(gene_exp_fiter)#select 选择对应的列gene_exp_select &- select(gene_exp_fiter ,sample_name,expression)head(gene_exp_select)
5.1 长数据与宽数据
library(tidyr)library(ggplot2)#基础绘图file &- read.table("geneExp.csv",header=T,sep=",",stringsAsFactors = F,row.names = 1)#宽数据filebarplot(as.matrix(file),names.arg = colnames(file), beside =T ,col=terrain.colors(6))legend("topleft",legend = rownames(file),fill = terrain.colors(6))#ggplot2绘图gene_exp &- read.table("geneExp.csv",header=T,sep=",",stringsAsFactors = F)gene_exp_tidy &- gather(data = gene_exp, key = "sample_name", value = "expression", -GeneID)#长数据head(gene_exp_tidy)ggplot(gene_exp_tidy,aes(x=sample_name,y=expression,fill=GeneID)) + geom_bar(stat='identity',position='dodge')
5.2 图形参数位置
x &- rnorm(20, 2, 1)y &- rnorm(20, 4, 2)plot(x, y, cex=c(1:3), type="p", pch=19, col = "blue", cex.axis=1.5, col.axis="darkgreen", font.axis=2, main="这是主标题:plot初试", font.main=2, cex.main=2, col.main="green", sub="这是副标题:图1", font.sub=3, cex.sub=1.5, col.sub="red", xlab="这是x轴标签", ylab="这是y轴标签",cex.lab=1.5, font.lab=2, col.lab="grey20", xlim=c(0,3), ylim=c(0,7))abline(h=2, v=3, lty=1:2, lwd=2,col="red")legend("topright", legend="我是图例n我在这儿", text.col="red", text.width=0.5)#Rnorm正态分布 个数 平均值 标准差 plot是泛型函数,根据输入类型的不同而变化#Type p 代表点 l 代表线 b 代表两者叠加
图形参数: 符号和线条:pch、cex、lty、lwd 颜色:col、col.axis、col.lab、col.main、col.sub、fg、bg 文本属性:cex、cex.axis、cex.lab、cex.main、cex.sub、font、font.axis、font.lab、font.main、font.sub
文本添加、坐标轴的自定义和图例 title()、main、sub、xlab、ylab、text() axis()、abline() legend()
多图绘制时候,可使用par()设置默认的图形参数 par(lwd=2, cex=1.5)
图形参数设置: par(optionname=value,…) par(pin=c(width,height)) 图形尺寸 par(mfrow=c(nr,nc)) 图形组合,一页多图 layout(mat) 图形组合,一页多图 par(mar=c(bottom,left,top,right)) 边界尺寸 par(fig=c(x1,x2,y1,y2),new=TURE) 多图叠加或排布成一幅图
#图形组合:attach(mtcars)opar &- par(no.readonly=TRUE) #复制当前图形参数设置par(mfrow=c(2,2))#设置图形参数#layout(matrix(c(1,2,2,3),2,2,byrow=TRUE))plot(wt,mpg,main="Scatterplot of wt vs mpg")hist(wt,main="Histogram of wt")boxplot(wt,main="Boxplot of wt")par(opar) #返回原始图形参数detach(mtcars)
5.3 柱形图file &- read.table("barData.csv",header=T,row.names=1,sep=",",stringsAsFactors = F)dataxx &- as.matrix(file) #转化为矩阵cols &- terrain.colors(3) #抽取颜色#误差线函数plot.error &- function(x, y, sd, len = 1, col = "black") { len &- len * 0.05 arrows(x0 = x, y0 = y, x1 = x, y1 = y - sd, col = col, angle = 90, length = len) arrows(x0 = x, y0 = y, x1 = x, y1 = y + sd, col = col, angle = 90, length = len) } x &- barplot(dataxx, offset = 0, ylim=c(0, max(dataxx) * 1.1),axis.lty = 1, names.arg = colnames(dataxx), col = cols, beside = TRUE) box() legend("topright", legend = rownames(dataxx), fill = cols, box.col = "transparent") title(main = "An example of barplot", xlab = "Sample", ylab = "Value") sd &- dataxx * 0.1 for (i in 1:3) { plot.error(x[i, ], dataxx[i, ], sd = sd[i, ])}
5.4 二元图
matdata &- read.table("plot_observed_species.xls", header=T)tbl_df(matdata) #查看数据属性和结构y&-matdata[,2:145]attach(matdata)matplot(series,y, ylab="Observed Species Number",xlab="Sequences Number", lty=1,lwd=2,type="l",col=1:145,cex.lab=1.2,cex.axis=0.8)legend("topleft",lty=1, lwd=2, legend=names(y)[1:8], cex=0.5,col=1:145)detach(matdata)
5.5 饼状图relative&-c(0........188143)taxon&-c("Sordariales","Pleosporales","Agaricales","Hypocreales", "Pezizales","Eurotiales","Helotiales","Others")ratio&-round(relative*100,2)ratio&-paste(ratio,"%",sep="")label&-paste(taxon,ratio,sep=" ")pie(relative,labels=label, main="ITS1-Sample S1", radius=1,col=rainbow(length(label)),cex=1.3)library(plotrix)fan.plot(relative,labels=label,main="Fan plot")pie3D(relative,labels=label, height=0.2, theta=pi/4, explode=0.1, col=rainbow(length(label)), border="black",font=2,radius=1,labelcex=0.9)
5.6 直方图 seqlength&-rnorm(, 30)hist(seqlength,breaks=100, col="red",freq=FALSE, main="Histogram with dengsitycurve", ylab="Density", xlab="Sequence length")lines(density(seqlength),col="blue4",lwd=2)
5.7 聚类图clu &- read.table("unweighted_unifrac_dm.txt", header=T, row.names=1, sep="t")head(clu)dis &- as.dist(clu)h &- hclust(dis, method="average")plot(h, hang = 0.1, axes = T, frame.plot = F, main="Cluster Dendrogram based on unweighted_unifrac", sub="UPGMA")
5.8 维恩图library(VennDiagram)ven&-list(sample1=20:50, sample2=c(1:30,50:80), sample3=40:90, sample4=c(10:30,70:100))
venn.diagram(ven, filename='venn.png', cex=1.2, col="black", alpha= 0.50,lwd =1.2, cat.cex=1.4, fill=c("cornflowerblue", "green", "Gold1","darkorchid1"), margin=0.15)
pdf(file="file.pdf", width=7, height=10)png(file="file.png",width=480,height=480)jpeg(file="file.png",width=480,height=480)tiff(file="file.png",width=480,height=480)dev.off()
参考资料:
1. R|home https://www.r-project.org
2. 雪晴网 http://www.xueqing.tv
3. 统计之都 https://cosx.org
4. R语言基础入门之一:引言
https://www.cnblogs.com/wentingtu/archive//2377969.html
5. R语言在生态学研究中的应用分析
http://blog.sciencenet.cn/blog-8416.html
6.为什么生态学家要学习Python或者R?
http://blog.sciencenet.cn/blog-3799.html
7. Statistical tools for high-throughput data analysis http://www.sthda.com/french/
8. why-use-the-r-language
https://www.burns-stat.com/documents/tutorials/why-use-the-r-language/
9. Why R? The pros and cons of the R language
https://www.infoworld.com/article/2940864/application-development/r-programming-language-statistical-data-analysis.html
10.Why use R? Five reasons
https://www.r-bloggers.com/why-use-r-five-reasons/
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点扫一扫体验手机阅读
R语言ggplot2绘图设置X轴刻度,字体大小及绘图区大小
<span type="1" blog_id="1793431" userid='
62篇文章,15W+人气,0粉丝
运维开发全攻略
¥51.0047人订阅
大数据时代的微服务之路
¥51.00524人订阅

我要回帖

更多关于 r语言ggplot 的文章

 

随机推荐