recharts 散点图 Scatterplot

作者: 李小夭 | 来源:发表于2017-10-15 21:55 被阅读22次

    之前就觉得Echart的可视化图表非常好看,最近碰巧看到了R语言接口,代码也非常简单易懂。比心:)

    首先安装recharts包:(如果不行的话,请更新Rstudio版本至最新。)

    if (!require(devtools)) library(devtools)

    install_github("madlogos/recharts")

    加载R包:

    library(recharts)

    参数和用法:

    echartr(data,x,y,<series>,<weight>,<t>,<type>)

    参数说明

    以iris数据集为例做图:

    1. 单系列

    echartr(iris,x=Sepal.Width,y=Petal.Width)

    花萼与花瓣宽度

    2. 多系列(series标识系列)

    echartr(iris, x=Sepal.Width, y=Petal.Width, series = Species)

    不同种类的花萼与花瓣长度

    3. 气泡图

    在散点图的基础上加入weight变量控制气泡大小,并且type设置为’bubble’

    echartr(iris, Sepal.Width, Petal.Width, weight = Sepal.Length, type = 'bubble')

    带权重的气泡图

    4. 颜色区分权重

    splitNumber分割段数,为0时为线性渐变。

    echartr(iris, Sepal.Width, Petal.Width, weight = Petal.Length) %>%

    setDataRange(calculable = TRUE, splitNumber = 0, labels = c('big','small'),

                             color = c('red','yellow','green'), valueRange = c(0,2.5))

    带权重的散点图

    5. 标注线addML和标注点addMP

    echartr(iris, Sepal.Width, Petal.Width, Species) %>%

      addML(series = 1, data = data.frame(name1='Max', type='max')) %>%

      addML(series = 2, data = data.frame(name1='Mean', type='average')) %>%

      addML(series = 3, data = data.frame(name1='Min', type='min')) %>%

      addMP(series = 2, data = data.frame(name1='Max', type='max')) 

    标注点和标注线

    6. 增加拟合线

    根据源数据线性回归,并定义拟合线的两个点。

    lm <- with(iris, lm(Petal.Width~Sepal.Width))

    pred <- predict(lm, data.frame(Sepal.Width=c(2.0,4.5)))

    echartr(iris, Sepal.Width, Petal.Width, Species) %>%

      addML(series = 'Linear Reg',data = data.frame(name1='Reg', value=lm$coefficients[2],

      xAxis1 = 2,yAxis1 = pred[1],xAxis2 = 4.5,yAxis2 = pred[2]))

    拟合线

    *7. 批量添加标注线

    一次性添加标注线,映射到源数据的series。

    lm <- with(iris, lm(Petal.Width~Sepal.Width))

    pred <- predict(lm, data.frame(Sepal.Width=c(2.0,4.5)))

    data <- data.frame(name1 = c('Max','Mean','Min'),type=c('max','average','min'),series = levels(iris$Species))

    echartr(iris,Sepal.Width,Petal.Width,Species) %>%

      addML(series=1:3,data=data) %>%

      addMP(series=2,data=data.frame(name1='Max',type='max')) %>%

      addML(series='Linear Reg', data=data.frame(name1 = 'Reg',value = lm$coefficients[2],

      xAxis1 = 2,yAxis1 = pred[1],xAxis2 = 4.5,yAxis2=pred[2]))

    更多功能请戳官方链接:madlogos.github.io/recharts/Basic_Plots_01_Scatterplot_cn.html#-en

    相关文章

      网友评论

        本文标题:recharts 散点图 Scatterplot

        本文链接:https://www.haomeiwen.com/subject/epecuxtx.html