R语言|R语言(五) Plotly绘图基本命令介绍

前文回顾:R语言ggplot基本语法介绍
在R语言中,除ggplot外,plotly也是一大常用的绘图包,其与ggplot的区别在于它的可交互性,本文主要整理其基本绘图命令。

目录

      • 一、基本介绍
        • 1.1 绘图语法
        • 1.2 绘图原理
      • 二、绘图示例
        • 2.1 条形图
        • 2.2 散点图和折线图
        • 2.3 饼图
        • 2.4 箱线图和直方图
        • 2.5 雷达图
        • 2.6 动态图

一、基本介绍
1.1 绘图语法 plotly插件包绘图方式主要分两种:一是将ggplot对象直接转为plotly对象;二是直接使用初始化plotly函数进行绘制
  • 直接转换
library(ggplot2) library(plotly)p<-ggplot(data=https://www.it610.com/article/iris, aes(x=Sepal.Length, y=Petal.Length, colour=Species))+ geom_point()ggplotly(p)

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片

交互式体现:可通过鼠标查看数据标签、点击右侧的图例可控制散点显隐
  • 基本语法
plot_ly(data=https://www.it610.com/article/iris, x = ~Sepal.Length, y = ~Petal.Length, type='scatter')%>% layout(title='iris scatter', yaxis=list(zeroline=FALSE), xaxis=list(zeroline=FALSE))

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片

1.2 绘图原理 R语言环境下R语言代码转为plotly包图形的关键在于plotly.js所需的json格式数据的转换,主要经历以下三个步骤:
1、使用plotly_build()函数将R语言代码转为R语言列表
2、使用plotly_json()函数将R语言列表转换为JSON格式数据传给plotly.js
3、由plotly.js根据输入的数据生成plotly插件包图形
二、绘图示例
plotly主要参数 含义
type 绘图类型
mode 绘图名称
name 图例名称
2.1 条形图
iris_data<-data.frame(Species=names(tapply(iris$Sepal.Length, iris$Species,mean)), Sepal.Length=c(tapply(iris$Sepal.Length, iris$Species,mean)), Petal.Length=c(tapply(iris$Sepal.Length, iris$Species,mean)))#绘制单组条形图 p1<-plot_ly(data=https://www.it610.com/article/iris, x=~Species, y=~Sepal.Length, name="Sepal.Length", type='bar') p1#多组条形图 p2<-p1%>% add_bars(y=~Petal.Length, name="Petal.Length")%>% layout(yaxis=list(title='Length'), barmode='group') p2#堆积柱形图 p3<-p1%>% add_bars(y=~Petal.Length, name="Petal.Length")%>% layout(yaxis=list(title='Length'), barmode='stack') p3

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片
R语言|R语言(五) Plotly绘图基本命令介绍
文章图片
R语言|R语言(五) Plotly绘图基本命令介绍
文章图片

2.2 散点图和折线图
data_0<-rnorm(100,mean=15) data_1<-rnorm(100,mean=10) data_2<-rnorm(100,mean=5) id<-c(1:100) data<-data.frame(id,data_0,data_1,data_2)plot_ly(data, x=~id, y=~data_0, name='lines', type='scatter', mode='lines')%>% add_trace(y=~data_1, name='lines+points', mode='lines+markers')%>% add_trace(y=~data_2, name='points', mode='markers')

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片

2.3 饼图
data<-data.frame(category=c("类别1","类别2","类别3","类别4","类别5"), values=c(0.35,0.25,0.2,0.15,0.05), stringsAsFactors=T) #饼图 plot_ly(data=https://www.it610.com/article/data, labels=~category, values=~values)%>% add_pie()#圆环 plot_ly(data=https://www.it610.com/article/data, labels=~category, values=~values)%>% add_pie(hole=0.5)

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片
R语言|R语言(五) Plotly绘图基本命令介绍
文章图片
2.4 箱线图和直方图
#箱线图 plot_ly(x=~iris$Sepal.Length, name="Sepal.Length", type="box")%>% add_trace(x=~iris$Sepal.Width, name="Sepal.Width")%>% add_trace(x=~iris$Petal.Length, name="Petal.Length")%>% add_trace(x=~iris$Petal.Width, name="Petal Width")%>% layout(xaxis=list(title=""))#直方图 plot_ly(x=rnorm(1000), type='histogram', marker=list( color="rgb(159,202,225)", line=list( color="rgb(8,48,107)", width=1.5)) )

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片
R语言|R语言(五) Plotly绘图基本命令介绍
文章图片
2.5 雷达图
plot_ly(type='scatterpolar', mode='markers', fill="toself")%>% add_trace(r=c(data$values_1,data$values_1[1]), theta=c(data$x,data$x[1]), name="类别1")%>% add_trace(r=c(data$values_2,data$values_2[2]), theta=c(data$x,data$x[1]), name="类别2")%>% layout( polar=list( radialaxis=list( visible=T, range=c(0,100) )), showlegend=T )

R语言|R语言(五) Plotly绘图基本命令介绍
文章图片

2.6 动态图
library(gapminder) plot_ly(gapminder, x=~gdpPercap, y=~lifeExp, size=~pop, color=~continent, frame=~year, text=~country, hoverinfo="text", type="scatter", mode="markers")%>% layout( xaxis=list(title="人均GDP",type="log"), yaxis=list(title="预期寿命"))%>% animation_slider( currentvalue=https://www.it610.com/article/list(prefix="当前年度",font=list(color="red")))%>% animation_button(label="播放")%>% animation_opts(1000,easing="elastic",redraw=T)


【R语言|R语言(五) Plotly绘图基本命令介绍】以上则是本文分享的全部内容

    推荐阅读