前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R|plotly

R|plotly

作者头像
生信补给站
发布2020-08-06 10:38:54
1.2K0
发布2020-08-06 10:38:54
举报
文章被收录于专栏:生信补给站生信补给站

plotly包:是一个基于浏览器的交互式图表库,建立在开源的JavaScript图表库plotly.js上,plotly包利用函数plot_ly函数绘制交互图。本文简单介绍几种常见图表的绘制方式,点图、线图及箱线图。

安装包准备

install.packages("plotly") ##安装方式 library(plotly) ##载入

一、点图

1)利用ColorBrewer Palette Names定义颜色,形状 大小 p <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length, color = ~Species #颜色分类 ,symbol = ~Species , symbols = c('circle','x','o')#符号分类及对应的表示符号 , colors = "Set1" #颜色选用Set1颜色集的颜色 ,mode = 'markers',marker = list(size = 10)) #mode 点图;marker的大小 p

2)自定义颜色以及与分类相对应的颜色 pal <- c("red", "blue", "green") #定义颜色 pal <- setNames(pal, c("virginica", "setosa", "versicolor")) #定义对应的分类

p <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length, color = ~Species, colors = pal) p

3)添加"悬浮"注释信息### d <- diamonds[sample(nrow(diamonds), 1000), ] p <- plot_ly( d, x = ~carat, y = ~price, # Hover text: 悬浮信息 text = ~paste("Price: ", price, '$<br>Cut:', cut), color = ~carat, size = ~carat) ##渐变颜色 p

二、线图

1)自定义数据集

month <- c('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December')

high_2007 <- c(36.5, 26.6, 43.6, 52.3, 71.5, 81.4, 80.5, 82.2, 76.0, 67.3, 46.1, 35.0) low_2007 <- c(23.6, 14.0, 27.0, 36.8, 47.6, 57.7, 58.9, 61.2, 53.3, 48.5, 31.0, 23.6) high_2014 <- c(28.8, 28.5, 37.0, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9) low_2014 <- c(12.7, 14.3, 18.6, 35.5, 49.9, 58.0, 60.0, 58.6, 51.7, 45.2, 32.2, 29.1)

data <- data.frame(month, high_2007, low_2007, high_2014, low_2014)

#将月份按照如下方式排序(默认是按照字母顺序排列,图形有问题)datamonth <- factor(data

##add_trace 可添加新的图形 p <- plot_ly(data, x = ~month, y = ~high_2014, name = 'High 2014', type = 'scatter', mode = 'lines',line = list(color = 'purple', width = 4)) %>% add_trace(y = ~low_2014, name = 'Low 2014', line = list(color = 'rgb(22, 96, 167)', width = 4)) %>% add_trace(y = ~high_2007, name = 'High 2007', line = list(color = 'purple', width = 4, dash = 'dash')) %>% add_trace(y = ~low_2007, name = 'Low 2007', line = list(color = 'rgb(22, 96, 167)', width = 4, dash = 'dash')) %>% ##layout 设置标题相关信息 layout(title = "Average High and Low Temperatures in New York", xaxis = list(title = "Months"), yaxis = list (title = "Temperature (degrees F)"))

2)综合点图和线图

trace_0 <- rnorm(100, mean = 5) trace_1 <- rnorm(100, mean = 0) trace_2 <- rnorm(100, mean = -5) x <- c(1:100)

data <- data.frame(x, trace_0, trace_1, trace_2)

p <- plot_ly(data, x = ~x, y = ~trace_0, name = 'trace 0', type = 'scatter', mode = 'lines') %>% add_trace(y = ~trace_1, name = 'trace 1', mode = 'lines+markers') %>% add_trace(y = ~trace_2, name = 'trace 2', mode = 'markers') 三、箱线图

1)分类箱线图 p <- plot_ly(ggplot2::diamonds, y = ~price, color = ~cut, type = "box")

###多组箱线图 layout p <- plot_ly(ggplot2::diamonds, x = ~cut, y = ~price, color = ~clarity, type = "box") %>% layout(boxmode = "group")

本文简单介绍了R-plotly包的常用几种交互图形。更详细的图形详见https://plot.ly/r/。当然还有其他的可交互图形的R包,未完待续。。。。。。

本文参与?腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-22,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 生信补给站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com