今天给大家介绍两款字体,这两款字体是一个喜欢设计的大神学长开发的,专门用作mini图表字体。
而且只要是支持字体显示的设备,几乎都可以用,当然Excel里面也可以用,这里我用R语言来演示如何使用图表字体来制作mini信息图,丰富数据表达形式。
PieChart #mini百分比饼图
BlockChart #mini方块堆积百分比图
项目主页:
http://9ishare.cc/
以下代码运行前务必要保证系统已经安装了这两款字体:
library("ggplot2") library("showtext") library("Cairo") library("ggthemes") library("dplyr")
#导入这两款字体: font.add("BlockCharts","BlockCharts.ttf") font.add("PieChart","PieCharts.ttf")
构造数据:
#mini饼图数据: PieChart<-data.frame(x=rep(1:5,2),y=rep(2:3,each=5),value=round(runif(10,0,1),2),class=rep(c("A","B"),each=5))
#匹配mini饼图字体代码:
char1<-"A0F1K2P3U4Z5e6j7o8t9y"%>%strsplit("")%>%unlist char2<-"BCDEGHIJLMNOQRSTVWXYabcdfghiklmnpqrsuvwx"%>%strsplit("")%>%unlist PieChart$label<-ifelse((100*PieChart$value)%%5==0,char1[PieChart$value*20+1],char2[PieChart$value*40+1])
#mini饼图可视化过程: setwd("E:/微信公众号/公众号——数据小魔方/2017年8月/20170805/") CairoPNG(file="PieChart.png",width=1000,height=750) showtext.begin() ggplot(PieChart,aes(x,y))+ geom_text(aes(label=label,colour=class),hjust=1,family="PieChart",size=45)+ geom_text(aes(y=y+.35,label=paste0(value,"%")),hjust=.5,size=7,colour="#C10000")+ scale_colour_manual(values=c("#92D24F","#FFC000"),guide=FALSE)+ ylim(1.5,3.5)+ xlim(.5,5.5)+ theme_void() showtext.end() dev.off()
#匹配mini百分比方块堆积图代码: char3<-"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz①②③④⑤⑥⑦⑧⑨七三上下九二八六十千口土大天太女子山工干平开心才文方无日木四"%>%strsplit("")%>%unlist PieChart$label2<-char3[PieChart$value*100+1]
#百分比方块堆积图可视化过程: CairoPNG(file="BlockCharts.png",width=1000,height=750) showtext.begin() ggplot(PieChart,aes(x,y))+ geom_text(aes(label=label2,colour=class),hjust=.5,family="BlockCharts",size=45)+ geom_text(aes(y=y+.35,label=paste0(value,"%")),hjust=.5,size=7,colour="#C10000")+ scale_colour_manual(values=c("#92D24F","#FFC000"),guide=FALSE)+ ylim(1.5,3.5)+ xlim(0.5,5.5)+ theme_void() showtext.end() dev.off()
是不是感觉很神奇呀,R语言中竟然可以这么玩字体,没错就是这种操作,不夸张的说,只要是系统注册过的字体,都可以用R语言这么玩,还记得曾经发过的那一篇中国身份字体地图吗,也是这么玩出来的!
挑战不可能之——ggplot环形字体地图(http://suo.im/4rayxe)
期待大家可以用这些字体做出新的创意图表!