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 ...
随机推荐
- C# partial 关键字详解
我们新建一个Windows Form时,后台代码都会自动添加如下代码: public partial class Form1 : Form { public Form1() { InitializeC ...
- Python学习笔记015——序列(字节数组 bytearray)
1 序列 常见的序列有:list tuple str bytes(字节串) bytearray 2 字节数组bytearray 可变的字节序列,相当于bytes的可变版本. 3 创建函数by ...
- Python练习笔记——编写一个装饰器,测算出一个函数的运行时间
import time def time_value(dec): def wrapper(*args,**kwargs): start_time = time.time() get_str = dec ...
- java 实现万年历
曾经初学java写万年历,都是採用主要的算法求出是否闰年闰月 计算公式例如以下 int year = 2014, month = 8, total = 0; if (month == 1 || mon ...
- stm32 usart的几种通信模式
一 USART 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换. USART支持同步单向通信和半双工单线通信,也支持LIN(局 ...
- Hadoop: Setup Maven project for MapReduce in 5mn
Hadoop: Setup Maven project for MapReduce in 5mn 25 MAY 2013 / ANTOINE AMEND I am sure I am not the ...
- linux安装rzsz(lrzsz)
lrzsz是一个unix通信套件提供的,X,Y和ZModem文件传输协议,可以用在Windows与linux系统之间的文件传输,体积小速度快,可以与xshell工具配合使用. (1)在线安装 yum ...
- C#判断窗体是否存在重复打开
foreach (Form f in Application.OpenForms) { f.Name //是打开窗体的Text //以下判断....... } Form2 F2 ; if(F2 == ...
- 【RapidIO相关】DSP与FPGA通信
TI参考链接: http://www.ti.com.cn/general/cn/docs/gencontent.tsp?contentId=50741 ------------------------ ...
- cocos2d-x解决中文乱码问题的几种办法
昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统.没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数. 但是意外的发现,当内容含有中文时,CCL ...