ggplot2 layers
最低层是“数据(DATA)”,统计肯定得有数据啊
其次是“美感(Aesthetics)”,也就是数据映射比例
第三是“几何(Geometry)”, 选择我们绘图的外观
第四是"主题(Theme)", 控制所有非数据墨水
基本操作
# 先把数据层放这里
plt_data_layer <- ggplot(data,aes(x,y,...(color,size...)))
# 然后画点图,并且以颜色按数据中的 clarity列 分类
plt_price_vs_carat_by_carity <- plt_data_layer + geom_point(aes(color = clarity))
# 如果想一张图显示多个图种
plt_multiple <- lt_price_vs_carat_by_carity + geom_smooth()
# 最后打印出图像
print(plt_price_vs_carat_by_carity)
# 也可以不同的图种使用不同的数据
# 先把数据层放这里
plt_data_layer <- ggplot(data)
# 然后画点图,并且以颜色按数据中的 clarity列 分类
plt_price_vs_carat_by_carity <- plt_data_layer + geom_point(aes = (x, y, color = clarity))
# 如果想一张图显示多个图种
plt_multiple <- lt_price_vs_carat_by_carity + geom_smooth(aes = (x, y))
# 最后打印出图像
print(plt_price_vs_carat_by_carity)
可见美学(Visible aesthetics)(其实就是各种自定义或者美化操作)
==aes()中的一些参数==
aes 即 Aesthetics(美学)
使用方法:
aes(alpha = .2)
: 透明度20%
aes(color = clarity)
: 颜色以clarity的不同值分类
aes(color = 'red')
: 颜色为红色
aes(size = clarity)
: 一般是点图的点,大小以clarity的不同值分类
Aesthetic | Description | Available Value |
---|---|---|
x | X axis position | 数据集某列 |
y | Y axis position | 数据集某列 |
fill | Fill color | |
color | Color of points, outlines of other geoms | 以列不同值上色,或指定颜色'red' |
size | Area or radius of points, thickness of line | 以列不同值给大小,或指定数字值 |
alpha | Transparency | 0 ~ 1.0 (可用缩写如.6) |
linetype | line dash pattern | |
labels | Text on a plot or axes | |
shape | Shape | 形状参数 |
各种图
动画效果
if(!require(gapminder)){
install.packages("gapminder")
}
# 获取数据:
library(gapminder)
# 绘图包
library(ggplot2)
# 动画包
library(gganimate)
# 用ggplot作图, 添加 frame=year
test <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, color = continent)) +
geom_point() +
scale_x_log10() +
theme_bw() +
# 在这里
labs(title = 'Year: {frame_time}', x = 'GDP per capita', y = 'life expectancy') +
transition_time(year) +
ease_aes('linear')
# 保存为GIF:
anim_save("271-ggplot2-animated-gif-chart-with-gganimate1.gif")
效果:
由于RStudio没法在右边的预览框看到绘图动画效果,只能保存下来看了,
而且保存可能会出一些问题,比如file_renderer failed to copy frames to the destination directory
,
这个问题试下把RStudio用管理员权限打开
或者看这个视频跟着做一下试试
gganimate mac - Warning: file_renderer failed to copy frames to the destination directory SOLVED
视频来源于YouTube,作者的电脑是MacOS
我的问题虽然上面这种方法没有解决,但它第二天打开这个问题自己就消失了,挺莫名其妙的
网友评论