R语言之ggplot

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言之ggplot相关的知识,希望对你有一定的参考价值。

参考技术A ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离。按图层作图,保有命令式作图的调整函数,使其更具灵活性,并将常见的统计变换融入到了绘图中。
ggplot的绘图有以下几个特点:第一,有明确的起始(以ggplot函数开始)与终止(一句语句一幅图);其二,图层之间的叠加是靠“+”号实现的,越后面其图层越高。
ggplot2里的所有函数可以分为以下几类:

一个图形对象就是一个包含数据,映射,图层,标度,坐标和分面的列表,外加组件options
ggplot(数据, 映射) geom_xxx(映射, 数据) stat_xxx(映射, 数据)

点(point, text):往往只有x、y指定位置,有shape但没有fill
线(line,vline,abline,hline,stat_function等):一般是基于函数来处理位置
射(segment):特征是指定位置有xend和yend,表示射线方向
面(tile, rect):这类一般有xmax,xmin,ymax,ymin指定位置
棒(boxplot,bin,bar,histogram):往往是二维或一维变量,具有width属性
带(ribbon,smooth):透明是特征是透明的fill
补:包括rug图,误差棒(errorbar,errorbarh)
然后,就是按照你的需要一步步加图层了(使用“+”)。

R语言与医学统计图形-14ggplot2几何对象之直方密度图

ggplot2绘图系统——几何对象之直方图、密度图

1.直方图

参数。

geom_histogram(mapping = ,
               data = ,
               stat = 'bin', #统计变换,概率密度为density
               position = 'stack',
               binwidth = , #条柱宽度
               bins = , #条柱数目,默认30
               na.rm = FALSE,
               show.legend = NA,
               inherit.aes = TRUE
               )

示例。

ggplot(diamonds,aes(carat))+
  geom_histogram(fill='darkorchid4')

ggplot(diamonds,aes(carat))+
  geom_histogram(fill='darkorchid4',bins=45)+
  xlim(0,3)

技术图片

# bins和binwidth
ggplot(diamonds,aes(carat))+
  geom_histogram(fill='darkorchid4',bins = 300)

ggplot(diamonds,aes(carat))+
  geom_histogram(fill='darkorchid4',binwidth = 0.01)
#binwidth参数是一个相对宽度

技术图片

#颜色映射
ggplot(diamonds,aes(price,fill=cut))+
  geom_histogram(binwidth = 500)

技术图片

2.概率密度曲线

三种方法:

#stat=density
ggplot(diamonds,aes(price))+
  geom_histogram(color='darkorchid4',stat='density')

#aes映射,..density..表示将y轴表示为density
ggplot(diamonds,aes(price, ..density..))+
  geom_histogram(fill='darkorchid4',color='black')

#geom_density
ggplot(diamonds,aes(depth,fill=cut,color=cut))+
  geom_density(alpha=0.1)+xlim(55,70)

技术图片

以上是关于R语言之ggplot的主要内容,如果未能解决你的问题,请参考以下文章

R语言系列之1------数据类型

R语言笔记之语法篇

软件R语言入门之向量

R语言数据分析系列之五

R语言系列之3-----文件读写

R语言之创建数据集