R:ggplot2包

一、qplot函数app

> library(ggplot2)
> head(diamonds)
  carat       cut color clarity depth table price     x     y     z
1  0.23     Ideal     E     SI2  61.5    55   326  3.95  3.98  2.43
2  0.21   Premium     E     SI1  59.8    61   326  3.89  3.84  2.31
3  0.23      Good     E     VS1  56.9    65   327  4.05  4.07  2.31
4  0.29   Premium     I     VS2  62.4    58   334  4.20  4.23  2.63
5  0.31      Good     J     SI2  63.3    58   335  4.34  4.35  2.75
6  0.24 Very Good     J    VVS2  62.8    57   336  3.94  3.96  2.48
> set.seed(1410)    #让样本可重复
> dsmall<-diamonds[sample(nrow(diamonds),100),]    #建立一个容量为100的随机样本
> qplot(carat,price,data=diamonds)    #绘制散点图

输入图片说明

qplot(carat,log(price),data=diamonds)    #qplot()支持变量的函数做为参数

输入图片说明

> qplot(carat,log(price),data=diamonds,colour=color)    #向散点图添加颜色信息

输入图片说明

> qplot(carat,log(price),data=diamonds,shape=cut)    #向散点图添加形状信息

输入图片说明

> qplot(color,data=diamonds,geom="bar")    #绘制条形图

输入图片说明

二、ggplot2函数ide

ggplot(data = , aes(x = , y = )) +
geom_XXX(...) +    #geom :表示几何对象,负责图形渲染的类型
 ... + 
stat_XXX(...) +    #统计变换 好比求均值,求方差等,当咱们须要展现出某个变量的某种统计特征的时候,须要用到统计变换
 ... +
annotate(...) +    #添加注释 #因为设置的文本会覆盖原来的图中对应的位置,能够改变文本的透明度或者颜色 例: annotate(geom='text')会向图形添加一个单独的文本对象 
 ... + 
labs(...) +    #labs(x = "这是 X 轴", y = "这是 Y 轴", title = "这是标题")
scale_XXX(...) +    #标度
coord_XXX(...) +    #调整坐标,调整坐标 coord_flip()来翻转坐标轴。使用xlim()和ylim()来设置连续型坐标轴的最小值和最大值 
guides(...) +    #调整全部的text
theme(...) +    #调整不与数据有关的图的元素的函数。theme函数采用了四个简单地函数来调整全部的主题特征:element_text调整字体,element_line调整主题内的全部线,element_rect调整全部的块,element_blank清空。theme(panel.grid =element_blank()) ## 删去网格线
facet_XXX(...)    #控制分组绘图的方法和排列形式

条形图函数

> x <- c('A','B','C','D','E')
> y <- c(13,22,16,31,8)
> df <- data.frame(x= x, y = y)
> df
  x  y
1 A 13
2 B 22
3 C 16
4 D 31
5 E  8
> ggplot(data = df, mapping = aes(x = x, y = y)) + geom_bar(stat= 'identity')    #对于条形图的y轴就是数据框中本来的数值时,必须将geom_bar()函数中stat(统计转换)参数设置为’identity’,即对原始数据集不做任何统计变换,而该参数的默认值为’count’,即观测数量。

输入图片说明

使用明细数据集绘制条形图:字体

> set.seed(1234)
> x <- sample(c('A','B','C','D'), size = 20, replace= TRUE, prob = c(0.2,0.3,0.3,0.2))
> y <- rnorm(1000) * 100
> df <- data.frame(x= x, y = y)
> head(df,20)
   x        y
1  B  -47.719
2  D  -99.839
3  D  -77.625
4  D    6.446
5  A   95.949
6  D  -11.029
7  B  -51.101
8  B  -91.120
9  D  -83.717
10 C  241.584
11 D   13.409
12 C  -49.069
13 B  -44.055
14 A   45.959
15 B  -69.372
16 A -144.820
17 B   57.476
18 B -102.366
19 B   -1.514
20 B  -93.595
相关文章
相关标签/搜索