R笔记4:ggplot绘制商务图表--玫瑰图
#读入你的数据。还是使用以前例子的数据,如下图:
rose <- read.csv("c:/rstudy/rose.csv")
#去掉背景:
#现在是比较重要的一步优化,由于中心部分太小,挤在一起很难以看清,如何实现象例图中的中间留空?尝试把y轴最小值设置为-0.4看看:
#现在可以去除坐标轴、网格线等,使图表更清晰,并在中心加文字。最后的代码就以下几行,非常简单。
本例笔记完。
更多内容请见:R、ggplot2、shiny 汇总
初始图样:
library(ggplot2)
dt = data.frame(A = c(2, 7, 4, 10, 1), B = c('B','A','C','D','E'))
windowsFonts(myFont = windowsFont("楷体")) ## 绑定字体
p = ggplot(dt, aes(x = B, y = A, fill = B)) +
geom_bar(stat = "identity", alpha = 0.7) +
coord_polar()
p
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
修补过后的玫瑰图:
library(ggplot2)
dt = data.frame(A = c(2, 7, 4, 10, 1), B = c('B','A','C','D','E'))
windowsFonts(myFont = windowsFont("楷体")) ## 绑定字体
p = ggplot(dt, aes(x = B, y = A, fill = B)) +
geom_bar(stat = "identity", alpha = 0.7) +
coord_polar() +
theme_bw() +
labs(x = "", y = "", title = "这个玫瑰图有点丑") +
geom_text(aes(y = A/2 + max(A)/4, label = A, color = B), size = 5) + ## 加上数字
theme(axis.text.y = element_blank()) + ## 去掉左上角的刻度标签
theme(axis.ticks = element_blank()) + ## 去掉左上角的刻度线
theme(panel.border = element_blank()) + ## 去掉外层边框
theme(legend.position = "none") + ## 去掉图例
theme(title = element_text(vjust = -56, face = "bold", family = "myFont")) ## 将图例移到图的下方,并更改一下字体格式
p
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
注:更多修改的细节可见:ggplot2——饼图篇,两者类似。
R笔记4:ggplot绘制商务图表--玫瑰图的更多相关文章
- 【R笔记】R语言函数总结
R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...
- Origin9.1如何绘制风向玫瑰图(Binned Data)?
Origin9.1如何绘制风向玫瑰图(Binned Data)? 时间:2014/5/14 21:02:44 点击: 2624 核心提示:今天为大家介绍下如何使用Origin9.1绘制如下图所示的风向 ...
- Origin9.1如何使用原始数据(Raw Data)绘制风向玫瑰图
核心提示:今天为大家简单介绍下如何使用原始数据绘制风向玫瑰图.本例以Origin 9.1进行演示.1.本例所用数据截图如下,列A为风向,列B为风速.2.选中两列数据,进入Plot下的Specializ ...
- 使用highcharts 绘制Web图表
问题描述: 使用highcharts 绘制Web图表 Highcharts说明: 问题解决: (1)安装Highcharts 在这些图表中,数据源是一个典型的JavaScrip ...
- R笔记(1):formula和Formula
#####开一个新的系列.关于R的一些笔记,就是遇到过的一些问题的简单整理.可能很基本,也可能没什么大的用处,作为一个记录而已.------------------------------------ ...
- Python使用plotly绘制数据图表的方法
转载:http://www.jb51.net/article/118936.htm 本篇文章主要介绍了Python使用plotly绘制数据图表的方法,实例分析了plotly绘制的技巧. 导语:使用 p ...
- 利用ichart绘制网页图表
首先,最好的教程在这里:ichartjs 有了这个网站,要绘制网页图表简直方便愉快! 接下来说一下使用方法~~~ 进入网站,点击在线设计器 在线设计器的使用方法就不说了,摸索一下就会了!关键在于两个地 ...
- R中绘制聚类的离散图
R中利用cluster简单的绘制常见聚类离散图 # 引入cluster库(clara.fanny) library(cluster) # 聚类散点图绘制 # 引入factoextra,cluster库 ...
- Qt绘制简单的风向玫瑰图代码
1.绘制简单的风向玫瑰图代码2.主要使用QPainter3.在子widget上绘制需要使用widget监视事件 eventfilter update();//更新界面 //镜头12 QPainter ...
随机推荐
- 如何利用JConsole观察分析JAVA程序的运行
今天在CSDN看到一朋友说关于对JVM的研究,正好看到有关于jconsole的文章,特意找了下资料,留着备用 ps:jconsole建议用JDK1.6的1.5的界面太简陋了,另外还有增强版jvisua ...
- eclipse智能提示优化
1.Windows→Preferences→Java→Editor→Content Assist 其中的AutoActivation Delay默认值为200(单位是毫秒)也就是说在打“.”之后停留2 ...
- Unix环境高级编程(九)信号
信号时软中断,很多比较重要的应用程序都需要处理信号,信号提供了一种处理异步事件的方法.每个信号都一个名字,以SIG开头,在<signal.h>头文件中定义信号类型,都是正整数(信号编号). ...
- React.Fragment 的作用:代替div作为外层
https://segmentfault.com/a/1190000013220508 import React, { Fragment } from 'react'; <Fragment> ...
- 为什么easyui的datagrid里getSelections还有getChecked只能获取一行值呢?
http://jquery-easyui.wikidot.com/forum/t-280470 如果没有 idField属性,getSelections就只能获取一个行的值了 注意:如果用了前面说的& ...
- 用VIM打造C语言编写器
1.先用vim --version命令查看一下都是安装了那些vim特性,以及版本等等情况. vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, comp ...
- PCIe调试心得_DMA part3
作者: East FPGA那点事儿 上一章讲述了PCIe总线如何提高DMA的效率. 本章以服务器常用的4通道1000M以太网卡为例讲述如何实现多个虚拟DMA通道. 1.多通道DMA发 4通道以太网卡 ...
- ping域名和ping IP时速度不同的原因
不知道大家在ping的时候有没有遇到过这样的问题:当你ping一个域名的时候,ping结果返回得很慢,但是如果直接ping这个域名的ip,结果却快很多. 直接ping ip的时候,每两次发包之间没有明 ...
- animation几个比較好玩的属性(alternate,及animation-fill-mode)
<!DOCTYPE html> <html> <head> <style> div { width:100px; height:100px; backg ...
- Oracle PLSQL Demo - 03.流程判断[IF ELEIF ELSE]
declare v_job ) := 'Programmer'; v_sal number; begin if v_job = 'Programmer' then v_sal :; elsif v_j ...