本文已参加「新人创作礼」活动,一起开启创作之路。
这次带来的是RStudio的图形系统 – 补充 其一。
补充: 第三方绘图包ggplot2
介绍
ggplot2
是R
中非常流行的绘图系统, 它是现代图形语法的一种实现. 自从问世以来已经获得了巨大成功, 并被移植到了其它数据科学语言中(比如Python
).
ggplot2
根据现代图形语法理论, 将图形分为以下几个部分:
-
data
数钻石据来源 -
mappin钻石婚约之独占神秘妻g
映射 -
geom_xx钻石香烟xx
,geom
几何对象函数 -
statappear_xxxx
,stat
统计变换函数 -
coord_xxxx
坐标系设置 -
scale_xx钻石王牌xx
控制映射方式 -
facet_xxxx
分面设置 -
theme_xxxx
主题设置 - 用加号
+
连接不同的图层
其中前三个部分是必须由用户指定的, 后面几个部分有默认值(根据前三者不同而使用不同的默认值), 当这些部分没有被指定时会钻石糖使用对应的默认值, 当然用户也可以通过主动设置来得到不同的效果.
准备数据
library(dplyr) library(ggplot2) # 准备数据, 从diamonds数据集中随机选择500个钻石样本 set.seed(2021) rows = sample(nrow(diamonds), 500) d500 = diamonds[rows,] # 使用dplyr做筛选的写法 set.seed(2021) diamonds %>% sample_n(size = 500) -> d500
数据和映射经常是写在同一个图层中的: data, mapping
ggplot(data = d500, mapping = aes(x = carat, y = price))

再加上gappeareom
层就钻石婚约之独占神秘妻能构成一个最简图形
ggplot(data = d500, mapping = aes(x = carat, y = price)) + geom_point()

ggplot(data = d500, mapping = aes(x = carat, y = price)) + geom_line()

ggplot(data = d500, mapping = aes(x = carat, y = price)) + geom_col()

ggplot(data = d500, mapping = aes(x = carat, y = price)) + geom_hex()

设置点的大小,形状,颜色,透明度等参数
ggplot(data = d500, mapping = aes(x = carat, y = price)) + geom_point(size = 2, pch = 6, color = "red", alpha = 0.3) # alpha 用来设置透明度

理解这些设置钻石夜总会在aes(…)内部和外部的区别
ggplot(data = d500, mapping = aes(x = carat, y = price, color = cut, size = carat)) + geom_point(pch = 18)

下面是一python怎么读些常用geom_xxxx
函数
# 散点图 geom_point # 线图 geom_line # 条形图 geom_bar ggplot(data = d500, aes(x = cut)) + geom_bar()

ggplot(data = d500, aes(x = cut)) + geom_bar(color = "orange", fill = "white")

ggplot(data = d500, aes(x = cut, color = cut)) + geom_bar(fill = "white")

ggplot(data = d500, aes(x = cut, fill = cut)) + geom_bar()

ggplot(data = d500, aes(x = cut, fill = clarity)) + geom_bar()

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

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

# 直方图 geom_histogram ggplot(data = d500, aes(x = carat)) + geom_histogram()

ggplot(data = d500, aes(x = carat)) + geom_histogram(color = "white")

ggplot(data = d500, aes(x = carat, fill = cut)) + geom_histogram(color = "white")

# 箱线图 geom_boxplot ggplot(data = d500, aes(x = carat)) + geom_boxplot()

ggplot(data = d500, aes(y = carat)) + geom_boxplot()

ggplot(data = d500, aes(x = factor(1), y = carat)) + geom_boxplot()

ggplot(data = d500, aes(x = cut, y = carat)) + geom_boxplot(color = "#377EB8")

ggplot(data = d500, aes(x = cut, y = carat, fill = cut)) + geom_boxplot()

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)