R语言 设置ylab每个汉字竖向排列的操作

只看标题可能不知道啥意思,所以先上图了。

从图中可以看到ylab中汉字的排列方式是从上到下的,要实现这样的效果有两个关键步骤:

一是ylab不是常规的“月工作量”,而是'月\n工\n作\n量',每个汉字中间要进行换行。

二是要对ylab进行旋转。

下面给出代码:

library(ggplot2)
#数据
df <- data.frame(
 gp = factor(rep(letters[1:3], each = 10)),
 y = rnorm(30)
)
#ggplot绘制
p0 <-ggplot(df, aes(gp, y)) +
 geom_point() +
 geom_point(data = ds, aes(y = mean), colour = 'red', size = 3)
#相关设置
p0+xlab('The glorious years of the movies')+ylab('月\n工\n作\n量')+
 theme(
 axis.text.x=element_text(angle=90, size=8),
 axis.title.x=element_text(angle=10, color='red'),
 axis.title.y=element_text(angle=360, color='blue', face='bold', size=14,vjust=0.5)
 )

补充:R语言画图时常见问题

1 如何在同一画面画出多张图?

修改绘图参数,如 par(mfrow = c(2,2)) 或 par(mfcol = c(2,2));

par():mar设置图离四个边缘的距离;bg设置背景颜色;xaxt和yaxt设置坐标轴标签的类型(=”n”表示不画轴标签);xlim和ylim设置坐标轴的范围。

更为强大功能的 layout函数,它可以设置图形绘制顺序和图形大小;

split.screen()函数。

2 如何设置图形边缘大小

修改绘图参数 par(mar = c(bottom, left, top, right)),bottom, left, top, right 四个参数分别是距离 bottom, left, top, right 的长度,默认距离是 c(5, 4, 4, 2) + 0.1。

或者修改绘图参数 par(mai =c(bottom, left, top, right)),以英寸为单位来指定边缘大小。

3 如何在已有图形上加一条水平线

使用低水平绘图命令 abline(),它可以作出水平线(y 值 h=)、垂线(x 值 v=)和斜线(截距 a=, 斜率 b=) 。

R中的绘图命令可以分为高水平(High level) 、 低水平 (Low level) 和交互式(Interactive)三种绘图命令。

简要地说,高水平绘图命令可以在图形设备上绘制新图;低水平绘图命令将在已经存在图形上添加更多的绘图信息,如点、线、多边形等;使用交互式绘图命令创建的绘图,可以使用如鼠标这类的定点装置来添加或提取绘图信息。

在已有图形上添加信息当然要使用 低水平绘图命令。

4 如何加图例?

绘制图形后,使用 legend函数,help("legend")

5 R 如何做双坐标图?

在 R 中可以通过绘图参数 par(new = TRUE)使得绘制第二个绘图 (hight-level plot) 时保留第一个绘图区域,这样两张绘图会重叠在一起,看起来就是双坐标图。

6 如何为绘图加入网格?

使用 grid() 函数

7 如果绘图时标题太长,如何换行?

可以使用 strwrap 函数,这个函数可以将定义段落格式。

plot ( 0 ,main = paste (strwrap ("This is a really long title that i can not type it properly" , width = 50 ) ,collapse= "\n"))

9 怎样将 R 的颜色同 RGB 对应起来?

参考函数 col2rgb()

10 如何调整所绘图形的大小?

Windows 平台下,正常情况打开绘图窗口,调整窗口大小,点击菜单直接保存,或使用 savePlot()

函数保存;当然也可以事先用windows ( width = , height = )

打开一个定义好大小的窗口,然后绘图;还可以使用 pdf() ,postscript() , png() ,jpeg() ,pictex() 等“后台生成” 函数,这些函数都有设置图形大小的参数。

11 在 word 里如何使用 R 生成的高质量绘图?

矢量绘图的效果是最好的,比如 eps、pdf,而不是位图(png、jpg、tiff等)。在 word 里面,可以使用 eps,虽然在屏幕上显示不是很好,但打印效果却不错。

12 画图时的参数

axis():las设置坐标轴标签的方式(水平,垂直……)。

mtext():为四个坐标轴添加标签。

text():在给定坐标的位置写字。

lines():lty设置线的类型;lwd设置线的宽度。

points():pch设置点的类型。

plot():最简单的画图函数。type设置画图的类型(type=”n”表示不画数据);axes设置是否画坐标轴。常用的参数还有:xlim和ylim,xaxt和yaxt。

barplot():space设置bar图间的间距;horiz设置bar的方向是垂直或水平;beside设置height为矩阵时,每列元素的bar排列方式;add设置是否将barplot加在当前已有的图上。

13 ggplot2包是强大的绘图包。多多练习!!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • R语言中qplot()函数的用法说明

    ggplot2()函数 ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创造出任何有助于解决你所遇到问题的图形. qplot() qplot()属于ggplot2(),可以理解成是它的简化版本. qplot 即"快速作图"(quick plot),顾名思义,能快速对数据进行可视化分析.它的用法和R base包的plot函数很相似. qplot() 参数 qplot(x, y = NULL, ..., data, facets = NULL, margins = F

  • R语言 如何保留大于或小于特定数值的行

    如下所示: newdata<-subset(x, x$var > 某一数字) x为矩阵 var是其中的一个变量 补充:r语言 循环次数超过了50这个最大值_错过了520还可以一起过儿童节,如何用R语言'撸'一个文字跑马灯去表白... 引言 和大家分享一下如何用R语言来写一个文字跑马灯吧.这个文字跑马灯写起来基本不费时间,在办公室摸一下鱼大概就够了. 正文 这个文字跑马灯我准备按照面向对象编程来写.因为,面向对象就会有对象.而且,这个东西写出来就是拿给你们去表白的. 首先我们定义一个基类,这个基

  • R语言 检验多重共线性的操作

    函数kappa() df<-data.frame() df_cor=cor(df) kappa(df_cor, exact=T) 当 κ<100κ<100 , 说明共线性程度小: 当 100<κ<1000100<κ<1000 , 有较强的多重共线性: 当 κ>1000κ>1000,存在严重的多重共线性. 函数qr() x<-matrix() qr(x)$rank qr(X)$rank 计算X矩阵的秩,如果不是满秩的,说明其中有xixi可以用其他x

  • R语言 title()函数的参数用法说明

    如下所示: title(main = NULL, sub = NULL, xlab = NULL, ylab = NULL, line = NA, outer = FALSE, ...) 参数 描述 main 主标题 sub 副标题 xlab x轴标签 ylab y轴标签 line 到轴线的行数距离 outer 一个逻辑值. 如果为TRUE,则标题位于图的外部边缘. 补充:R语言低级绘图函数-title title 函数用来在一张图表上添加标题 基本用法: main 表示主标题,通常位于图像的上

  • R语言 解决无法打开链结的问题

    近期,在项目中遇到一个棘手的问题. R脚本在centos服务器上通过"R --no-save filename.R"的方式运行R脚本可以成功,分析结果也可以存入MySQL,该种方式适合算法工程师测试脚本使用. 但是,同样的脚本,在Java后台调用时却失败了. 为了定位问题位置,在脚本内插入很多打印语句,锁定了问题出现在利用RMySQL包将分析结果存入数据库部分,由于Java调用R脚本时R报错信息无法获取,因此又在R脚本中抓取了try函数的执行结果,并存储于自建的R运行日志中. 查看日志

  • R语言 install.packages 无法读取索引的解决方案

    问题描述 在公司的Centos服务器上安装R的包,总是安装不成功,然后有如下提醒: Warning: 无法在貯藏處https://mirrors.ustc.edu.cn/CRAN/src/contrib中读写索引 Warning message: package 'DBI' is not available (for R version 3.2.2) 问题修复 [更好的方案请直接看最后边PS] 执行下边这条命令,随便选几个源. setRepositories(addURLs = c(CRANxt

  • R语言柱状图排序和x轴上的标签倾斜操作

    R语言做柱状图大致有两种方法, 一种是基础库里面的 barplot函数, 另一个就是ggplot2包里面的geom_bar 此处用的是字符变量 统计其各频数,然后做出其柱状图.(横轴上的标签显示不全) t <- sort(table(dat1$L), decreasing = TRUE) #将频数表进行排序 r <- barplot(t, col = "blue", main = "柱状图", ylim = c(0,12), names.arg = di

  • R语言 设置ylab每个汉字竖向排列的操作

    只看标题可能不知道啥意思,所以先上图了. 从图中可以看到ylab中汉字的排列方式是从上到下的,要实现这样的效果有两个关键步骤: 一是ylab不是常规的"月工作量",而是'月\n工\n作\n量',每个汉字中间要进行换行. 二是要对ylab进行旋转. 下面给出代码: library(ggplot2) #数据 df <- data.frame( gp = factor(rep(letters[1:3], each = 10)), y = rnorm(30) ) #ggplot绘制 p0

  • R语言变量重编码、重命名的操作

    1.变量重编码 重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程,如将符合某个条件的值重新赋值等,这里主要介绍两种常见的方法: #第一种方法 per <- data.frame(name = c("张三","李四","王五","赵六"), age = c(23,45,34,1000)) per per$age[per$age == 1000] <- NA #设置缺失值 per$age1[per$age

  • R语言利用caret包比较ROC曲线的操作

    说明 我们之前探讨了多种算法,每种算法都有优缺点,因而当我们针对具体问题去判断选择那种算法时,必须对不同的预测模型进行重做评估. 为了简化这个过程,我们使用caret包来生成并比较不同的模型与性能. 操作 加载对应的包与将训练控制算法设置为10折交叉验证,重复次数为3: library(ROCR) library(e1071) library("pROC") library(caret) library("pROC") control = trainControl(

  • R语言之xlsx包读写Excel数据的操作

    感谢Adrian A. Drǎgulescu发布的xlsx包 xlsx包提供了必要的工具来与Excel 2007进行交互.用户可以阅读和编写xlsx,并可以通过设置数据格式.字体.颜色和边框来控制电子表格的外观.设置打印区域,缩放控制,创建分割和冻结面板,添加页眉和页脚.包使用Apache POI项目中的java库.本篇主要分享利用xlsx工具包在读写xlsx过程中所碰到的问题及解决办法. 工具准备 强烈建议大家使用RStudio这个IDE,它是以今为止对R语言最友好的一个IDE之一,而且使用很

  • R语言之左连接的三种实现操作

    数据处理中经常遇到表连接问题,本次介绍R语言中三种左连接方法,这三种是等价的,不过会有时间快慢问题,斟酌使用. 法一: > data0 <- merge(a,c,all.x=TRUE,by='CELLPHONE') 法二: > data1 <- sqldf('select a.*,b.* from a left join c on a.CELLPHONE=c.CELLPHONE') 法三: > data2 <- c[a,on='CELLPHONE'] 注意:第三种方法的

  • R语言 实现在循环中输出图片的操作

    今天在循环导出图片时,遇到了一个问题: 使用R语言导出图片的代码: setwd("E://R") jpeg(file="A.jpeg") print(plot(PEO$X, PEO$Y, pch=PEO$S)) dev.off() 但是若是将此代码运用到循环之中,则只会出来一张图A.jpeg 想了好久原因,发现--..!!!! 命名方法不对啊!!! 只有一个名字!!!当然不行啊!!! 于是搜索如何循环命名- 找到了老朋友paste() yourfilename=pa

  • R语言与格式,日期格式,格式转化的操作

    R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一类是POSIXct/POSIXlt类型数据,其中包括了日期.时间和时区信息. 基本总结如下: 日期data,存储的是天: 时间POSIXct 存储的是秒,POSIXlt 打散,年月日不同: 日期-时间=不可运算. 一般来讲,R语言中建立时序数据是通过字符型转化而来,但由于时序数据形式多样,而且R中存贮格式也是五花八门,例如Date/ts/xts/zoo/tis/fts等等.lubridate包(后续有介

  • R语言数值取消科学计数法表示的操作

    我就废话不多说了,大家还是直接看代码吧~ >#取消科学计数法 >options(scipen = 200) >#scipen 表示在200个数字以内都不使用科学计数法 补充:R语言去除科学计数法 保留小数位 R语言 去除科学计数法 保留小数位 options("scipen"=100, "digits"=4) 补充:R语言科学计数法数据改变/丢失/失准,取消科学计数法的原因和解决方法 问题描述 如何在R中取消科学计数法 & 对R中使用科学技

  • R语言因子型数值转数值型的操作

    一直觉得只要是数字,不管是什么类型的,都可以通过as.numeric()函数转换为对应的numeric类型的数字,例如 x<-"123",x为character类型,而as.numeric(x)则为numeric类型的123. 但是因子(factor)类型却不一样. a<-factor(c(100,200,300,301,302,400,10)),它们的值分别为100 200 300 301 302 400 10,然而 as.numeric(a)对应的值并非100 200

  • R语言科学计数法介绍:digits和scipen设置方式

    控制R语言科学计算法显示有两个option: digitis和scipen.介绍的资料很少,而且有些是错误的.经过翻看R语言的帮助和做例子仔细琢磨,总结如下: 默认的设置是: getOption("digits") [1] 7 getOption("scipen") [1] 0 digits 有效数字字符的个数,默认是7, 范围是[1,22] scipen 科学计数显示的penalty,可以为正为负,默认是0 R输出数字时,使用普通数字表示的长度 <= 科学计

随机推荐