R语言与医学统计图形-【31】动态交互绘图

1.plotly包

动态散点图

library(plotly)

# 交互散点图
plot_ly(data=iris,
         x=~Sepal.Length,
         y=~Petal.Length,
         marker=list(size=10,
                     color='rgba(255,182,193,.9)',
                     line=list(color='rgba(152,0,0,.8)',
                               width=2))) %>% 
  layout(title='Styled Scatter',
         yaxis=list(zeroline=FALSE),
         xaxis=list(zeroline=FALSE))

#多维数据,添加标签
plot_ly(mpg,x=~hwy,y=~displ,color=~factor(cyl),
        text=~paste('Model:',model)) %>% 
  layout(title='MPG data',font=list(family='Times New Roman',
                                    size=13,color='forestgreen'))


#参数
plot_ly(data=iris,x=~Sepal.Length,y=~Petal.Length,
        type = 'scatter',#lines/markers/text/none
        mode='makers',
        symbol = ~Species,
        #点类型
        symbols = c('circle','x','o'),color = I('black'),
        marker=list(size=10))
#点连线形式
trace0 <- rnorm(100,mean=5)
trace1 <- rnorm(100,mean=0)
trace2 <- rnorm(100,mean=-5)
x <- c(1:100)
data <- data.frame(x,trace0,trace1,trace2)

#第一张散点图以线图形式展示
plot_ly(data,x=~x,y=~trace0,
        name = 'trace 0',type = 'scatter',
        mode='lines') %>%  
  #第二张以点连线形式展示
  add_trace(y=~trace1,name='trace 1',
            mode='lines+markers') %>% 
  #第三张普通散点图
  add_trace(y=~trace2,name='trace 2',
            mode='markers') %>% 
  layout(xaxis=list(zeroline=FALSE))

#add_trace/add_histogram/add_boxplot/add_text
image.png

其他动态图

#动态气泡图
# 动态线图 
# 动态条形图
# 动态直方图
# 动态盒形图
# 动态误差条图
# 动态饼图和戒指图

2. recharts包

接近基础绘图语法。

散点图

#devtools::install_github('taiyun/recharts')
library(recharts)

#散点图
ePoints(iris[,3:5],series = ~Species)

ePoints(iris[,3:5],
        xvar=~Petal.Length,
        yvar=~Petal.Width,
        series = ~Species,
        xlab.name = 'Petal Length',
        ylab.name = 'Petal Width',
        xlab.namePosition = 'end',
        ylab.namePosition = 'end',
        title = 'IRIS data',
        title.x = 'center',
        title.y = 'top',
        legend.orient = 'vertical',
        legend.x = 'right',
        legend.y = 'center')
image.png

其他动态图

#线图
names(mtcars)
eLine(mtcars,xvar = ~cyl,yvar = ~mpg,series = ~gear)

#条形图
eBar(mtcars,xvar = ~cyl,yvar = ~mpg,series = ~gear)

#饼图
x=runif(6)
names(x)=LETTERS[1:6]
ePie(x,type='pie',title = 'PIE')
#玫瑰图
ePie(x,type = 'rose',roseType = 'radias',title = 'Rose plot')

#雷达图
eRadar(mtcars,xvar = ~cyl,yvar = ~mpg,series = ~gear)

#漏斗图、面积图等。。。

3. rChart包

语法近似于lattice绘图系统。在R中实现Polychart、Morris、NVD3等多个js绘图库。
https://github.com/ramnathv/rCharts
没安装上

Ploychart

4.threejs包

3D显示功能。

#install.packages('threejs')
library(threejs)

#三维散点图
N <- 100
i <- sample(3,N,replace = TRUE)
x <- matrix(rnorm(N*3),ncol=3)
lab <- c('small','bigger','biggest')
scatterplot3js(x,color = rainbow(N),labels=lab[i],
               size=i,renderer = "canvas")

#三维地图
library(maps)
data("world.cities",package = 'maps')
cities <- world.cities[order(world.cities$pop,decreasing = TRUE)[1:1000],]
value <- 100*cities$pop/max(cities$pop)
col <- colorRampPalette(c('cyan','lightgreen'))(10)[floor(10*value/100)+1]
threejs::globejs(lat = cities$lat,
                 long=cities$long,
                 value=value,
                 color = col,
                 atmosphere = TRUE)

image.png

5.timevis包

#绘制动态时间轴,展示时间节点事件
library(timevis)
timevis(data.frame(id=1:3,
                   content=c('one','two','three'),
                   start=c('2016-01-10','2016-01-14','2016-01-19'),
                   end=c(NA,'2016-01-18',NA),
                   type=c('point','background','box')))
image.png

6.dygraphs包

#动态时间序列
library(dygraphs)
lungDeaths <- cbind(mdeaths,fdeaths)
dygraph(lungDeaths)
#选择特定时间
dygraph(lungDeaths) %>% 
  dyRangeSelector(dateWindow = c('1975-06-01','1978-12-31'))

image.png

7.leaflet包

js开源交互式地图包,在R中利用哦html5显示。

#install.packages('leaflet')
library(leaflet)

f <- leaflet() #初始化
y <- addTiles(f) #调用地图底图
addMarkers(y,
           lng = 121.445,
           lat=31.1980,
           popup = '复旦大学上海医学院') #添加标记

#用管道符
leaflet() %>% addTiles() %>% 
  addMarkers(lng = 121.445,lat = 31.1980,popup = '复旦大学医学院')
image.png

功能强大,不再演示。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 在学习R的时候,R的包众多,很多时候对于初学者会造成很大的困扰就是不知道用什么样的包比较合适。我会在不断使用...
    果果哥哥BBQ阅读 16,018评论 0 62
  • R语言包的安装 参考文章 在R中大概有几种包的安装方式。 install.packages()常规包的安装 括号里...
    天涯清水阅读 13,663评论 0 22
  • 1.数据导入 以下R包主要用于数据导入和保存数据: feather:一种快速,轻量级的文件格式;在R和python...
    雨一流阅读 1,290评论 0 9
  • 所谓数据可视化是对大型数据库或数据仓库中的数据的可视化,它是可视化技术在非空间数据领域的应用,使人们不再局限于通过...
    大数据在说话阅读 1,360评论 0 9
  • 一直感觉跃迁是一个暗盒子,然后围绕这个暗盒子,我可以描述了它的性状、质地,但是触摸不到它的真谛,这缺失核心环节就是...
    sherazhang阅读 479评论 1 2