ggplot2-坐标系(5)

| 坐标系 | 描述 |
| cartesian | 笛卡尔坐标系 |
| equal | 同尺度笛卡尔坐标系 |
| flip | 翻转的笛卡尔坐标系 |
| trans | 变换的的笛卡尔坐标系 |
| polar | 极坐标 |
| map | 地图投影 |

#准备数据
library(ggplot2)
library(gridExtra)

o <- ggplot(data = gene_exp, aes(x = S1, y = S2)) +
  geom_point() + labs(title = "origin")

# 同尺度笛卡尔坐标系 x轴和y轴相同距离代表长度一致
# o + coord_equal()
# coord_equal:保证x轴和y轴的1cm代表相同的数据范围。可以通过ratio调整比例,ratio=x/y
o_coord_equal <- o + coord_equal(ratio = 2) + labs(title = "o_coord_equal") +
  scale_x_continuous(breaks= seq(0, 1600, 400))

grid.arrange(o, o_coord_equal, ncol = 2)

#翻转的笛卡尔坐标系,对于散点图来说,实际是x轴和y轴的交换,
#有些图形进行翻转(比如拟合曲线),并不是单纯的x轴和y轴的互换,主要用于:随着y轴变化,观察x轴变化的趋势
#o + coord_flip() 
o <- ggplot(data = gene_exp, aes(x = S1, y = S2)) +
  geom_point() + labs(title = "origin") +
  geom_smooth()

o_S2_S1 <- ggplot(data = gene_exp, aes(x = S2, y = S1)) +
  geom_point() + labs(title = "origin_S2_S1") + geom_smooth()

o_coord_flip <- o + coord_flip() + labs(title = "o_coord_flip") 

grid.arrange(o, o_S2_S1, o_coord_flip, ncol = 3)

#设置数据范围:坐标系与标度的不同
#设置范围
#coord_cartesian(xlim = c(0, 1000), ylim = c(0, 1000))
#标度设置范围:剔除范围外数据,再统计绘图
#坐标系设置范围:仍使用所有数据统计变换 ,相当于对图形的局部放大

#导入包
library(ggplot2)
library(gridExtra)
#原始图形
o <- ggplot(data = gene_exp, aes(x = S1, y = S2)) +
  geom_point() + labs(title = "origin") + 
  geom_smooth()
#标度,限制范围
scale_trans <- o + xlim(1, 1000) + labs(title = "Scale_trans")
#坐标系,限制范围
coord_trans <- o + coord_cartesian(xlim = c(0, 1000)) +
  labs(title = "Coord_trans")
#比较
grid.arrange(o, scale_trans, coord_trans, ncol = 3)


你可能感兴趣的:(ggplot2-坐标系(5))