• 单个仪表盘

导入包及代码:

library(ggplot2)
library("showtext")
library(Cairo)
library("Rmisc")
library(grid)
setwd("F:")
font.add("myfont","msyh.ttc")
bardata<-seq(from=0,to=270,length=1000)
rectdata<-seq(from=0,to=270,by=27)%>%c(360) target<-1
assist<-target*270 CairoPNG(file="I_LOVE_YOU.png",width=800,height=540)
showtext.begin()
ggplot(data=NULL)+
geom_rect(aes(xmin=rectdata[-12],xmax=rectdata[-1],ymin=5,ymax=10),fill="#F2F2F2",col="white")+
geom_bar(aes(x=bardata,y=5,col=bardata),stat="identity",fill=NA,size=2)+
geom_text(aes(x=rectdata[-12],y=-5,label=seq(0,100,by=10)),vjust=.5,hjust=.5,size=5,family="myfont",col="#0F1110")+
geom_segment(aes(x=assist,y=-50,xend=assist,yend=-10),arrow =arrow(length=unit(0.4,"cm")),size=1.2,col="red")+
geom_point(aes(x=assist,y=-50),shape=21,fill="white",col="black",size=7)+
annotate("text",x=315,y=-30,label="100%",size=12,hjust=.5,vjust=.5,family="myfont",col=ifelse(target<.5,"#F32626","#38E968"),fontface="plain")+
annotate("text",x=315,y=-15,label="我爱你",size=15,hjust=.5,vjust=.5,family="myfont",col=2)+
ylim(-50,12)+
coord_polar(theta="x",start=179.85)+
scale_colour_gradient(low="#F32626",high="#38E968",guide=FALSE)+
theme_minimal()+
theme(
text=element_blank(),
line=element_blank(),
rect=element_blank()
)
showtext.end()
dev.off()

  

  • 多个仪表盘
set.seed(123)
target<-runif(5,0,1)
assist<-270*target CairoPNG(file="bigdashboard.png",width=1500,height=675)
showtext.begin()
grid.newpage()
pushViewport(viewport(layout=grid.layout(1,5)))
vplayout<-function(x,y){viewport(layout.pos.row =x,layout.pos.col=y)}
for(i in 1:5){
p<-ggplot(data=NULL)+
geom_rect(aes(xmin=rectdata[-12],xmax=rectdata[-1],ymin=5,ymax=12),fill="#F2F2F2",col="white")+
geom_bar(aes(x=bardata,y=5,col=bardata),stat="identity",fill=NA,size=2)+
geom_text(aes(x=rectdata[-12],y=-5,label=seq(0,100,by=10)),vjust=.5,hjust=.5,size=3.5,family="myfont",col="#0F1110")+
geom_segment(aes(x=assist[i],y=-50,xend=assist[i],yend=-10),arrow =arrow(length=unit(0.4,"cm")),size=1.2,col="red")+
geom_point(aes(x=assist[i],y=-50),shape=21,fill="white",col="black",size=7)+
annotate("text",x=315,y=-30,label=percent(target[i]),size=7.5,hjust=.5,vjust=.5,family="myfont",col=ifelse(target[i]<.5,"#F32626","#38E968"),fontface="plain")+
annotate("text",x=315,y=-15,label=paste0("指标",i),size=8.5,hjust=.5,vjust=.5,family="myfont")+
ylim(-50,12)+
coord_polar(theta="x",start=179.85)+
scale_colour_gradient(low="#F32626",high="#38E968",guide=FALSE)+
theme_minimal()+
theme(
text=element_blank(),
line=element_blank(),
rect=element_blank()
)
print(p,vp=vplayout(1,i))
}
showtext.end()
dev.off()

  

R语言仪表盘的更多相关文章

  1. R语言学习笔记︱Echarts与R的可视化包——地区地图

    笔者寄语:感谢CDA DSC训练营周末上完课,常老师.曾柯老师加了小课,讲了echart与R结合的函数包recharts的一些基本用法.通过对比谢益辉老师GitHub的说明文档,曾柯老师极大地简化了一 ...

  2. R语言中常用包(二)

    数据导入 以下R包主要用于数据导入和保存数据 feather:一种快速,轻量级的文件格式.在R和python上都可使用readr:实现表格数据的快速导入.中文介绍可参考这里readxl:读取Micro ...

  3. r语言 包说明

    [在实际工作中,每个数据科学项目各不相同,但基本都遵循一定的通用流程.具体如下]   [下面列出每个步骤最有用的一些R包] 1.数据导入以下R包主要用于数据导入和保存数据:feather:一种快速,轻 ...

  4. R语言中文社区历史文章整理(类型篇)

    R语言中文社区历史文章整理(类型篇)   R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterpl ...

  5. R语言作为BI中ETL的工具

    R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...

  6. R语言环境安装与基本使用

    R语言安装包可以从这个地址选择合适的URL去下载:https://cran.r-project.org/mirrors.html,这里使用这个https://mirrors.tuna.tsinghua ...

  7. R语言绘制空间热力图

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始 首先安装相关包 install_packages("dev ...

  8. [R]R语言中的%>%和%.%

    最近在网上看R的代码,常常看到 x %>% y 的写法. 样子看着像是pipe的用法,搜了一下, 没找到语法的相关说明. 今天突然开窍,想着 %>% 可能不是语言本身支持的语法,可能是某个 ...

  9. .Net调用R语言

    ///加载自己写的R语言算法库 public List<double> GetZTFB(double[] data) { List<double> par = new List ...

随机推荐

  1. You earned your Program Management Professional (PgMP)® Credential

    You earned your Program Management Professional (PgMP)® Credential. pasting

  2. 原生js设置rem

    使用rem是为了界面响应不同尺寸的手机,引入下面的方法就可以使用rem了. setFontSize: function (doc, win) { var docEl = doc.documentEle ...

  3. 查看crontab运行状态

    cron服务是linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: /sbin/service crond start/sbin/service crond stop/sbin/ ...

  4. 使用 Python 爬取网页数据

    1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 ...

  5. 复习IIC协议---以AT24C02为例

    1.总纲--复习IIC(inter integrated circuit)协议以及自己顺便读一下数据手册. /********************************************* ...

  6. Windows Server 2016激活方法+密钥+遇到的问题及解决办法(摘抄)

    Windows Server 2016激活方法+密钥+遇到的问题及解决办法 2018年08月30日 13:47:34 Brozer 阅读数:28667   这两天公司准备部署Revit Server ...

  7. SQL 中左连接与右链接的区别

    在微信公众号中看到的sql左连接与右链接的总结,这个图总结的很好,所以单独收藏下:

  8. Django+Vue打造购物网站(五)

    注册和登陆 drf的认证 http://www.django-rest-framework.org/api-guide/authentication/ settings.py文件的配置 INSTALL ...

  9. <Android基础>(三) UI开发 Part 3 RecyclerView

    RecyclerView 1)RecyclerView的基本用法 2)横向滚动和瀑布流滚动 3)注册点击事件 3.6 强大的滚动控件 RecyclerView ListView缺点: 1.不使用技巧优 ...

  10. (二叉树 DFS 递归) leetcode 101. Symmetric Tree

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...