R语言数据可视化 ggplot2基础4 位置与坐标系

R语言数据可视化 ggplot2基础4 位置与坐标系

我们继续使用ggplot2::diamonds介绍position。


position = “identity”

ggplot(data=diamonds)+
  geom_bar(mapping = aes(x = cut, fill = cut), position = "identity")

在这里插入图片描述
另外,我们对每一个直方还可以根据另外的变量进行划分,比如用下面的代码,我们可以展示每一种净度在不同档次的切工中所占比率。

ggplot(data=diamonds)+
  geom_bar(mapping = aes(x = cut, fill = clarity), position = "identity")

在这里插入图片描述


position = “fill”

这种position关系可以用在sub-category比率在组间的横向比较,比如要比较钻石净度在不同切工中所占比率,我们可以用下面的代码:

ggplot(data=diamonds)+
  geom_bar(mapping = aes(x = cut, fill = clarity), position = "fill")

在这里插入图片描述


position = “dodge”

虽然上面那张图可以让我们做净度的横向比较了,但这张图还是比较丑的,而且我们比较熟悉的不太一样,我们比较熟悉的分category和sub-category展示的直方图是用下面的代码得到的:

ggplot(data=diamonds)+
  geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")

在这里插入图片描述


position = “jitter”

这种位置关系比较特殊,它的作用是给每一个数据点加上一点随机噪声,我们用上上讲的散点图为例:

ggplot(data = mpg)+
  geom_point(mapping = aes(x=displ,y=hwy),position="identity")

在这里插入图片描述

ggplot(data = mpg)+
  geom_point(mapping = aes(x=displ,y=hwy),position="jitter")

在这里插入图片描述

identity的position导致取值相同的点会重合在一起,看上去就像一个点一样,这不利于我们发现数据是否存在聚类;jitter给点加上随机噪声后能让取值相同的点重叠但不重合,所以能够看出数据的集中性。



关于坐标系,我们之前介绍过两种,对数坐标与笛卡尔坐标,笛卡尔坐标就是直角坐标,用

coord_cartesian()

表示;对数坐标就是基于直角坐标做scaling,用下面的代码实现

scale_y_log10()
scale_x_log10()
coord_cartesian()

我们再另外介绍三种坐标操作,


交换 x x x y y y轴的位置:

coord_flip()

ggplot(data = mpg,mapping = aes(x=class,y=hwy))+
  geom_boxplot()

在这里插入图片描述

ggplot(data = mpg,mapping = aes(x=class,y=hwy))+
  geom_boxplot()+coord_flip()

在这里插入图片描述


画真实的地图

coord_quickmap()

install.packages("maps")
library(maps)
World <- map_data("world")
ggplot(World, aes(long,lat,group = group))+
  geom_polygon(fill = "white", color = "black")+
  coord_quickmap()

在这里插入图片描述


极坐标

coord_polar()

World <- map_data("world")
ggplot(World, aes(long,lat,group = group))+
  geom_polygon(fill = "white", color = "black")+
  coord_polar()

在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页