前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R中优雅的绘制环状sina图

R中优雅的绘制环状sina图

作者头像
R语言数据分析指南
发布2023-09-27 09:27:48
2070
发布2023-09-27 09:27:48
举报

❝在R中创建sina图使用geom_sina函数,sina图是一种用于显示单个分类变量的每个观测值的图形。它与箱线图和小提琴图类似,但是它显示了每个单独的数据点,这可以提供关于数据分布的更多信息。 ❞

「sina图的主要优点是它可以清楚地显示每个数据点,而不是简单地显示数据的总体分布。这使得sina图特别适用于小样本大小的数据集,其中每个数据点的值都很重要。」

加载R包

代码语言:javascript
复制
library(tidyverse)
library(lubridate)
library(scico)
library(ggforce)

导入数据

代码语言:javascript
复制
df <- read_csv("data.csv") %>% janitor::clean_names()

数据清洗

代码语言:javascript
复制
df <- df %>% mutate(year=year(gas_day_started_on)) %>% 
  filter(year > 2012) %>% # 筛选数据
  select(gas_day_started_on,gas_in_storage_t_wh) %>%
  mutate(mth = month(gas_day_started_on))

数据可视化

代码语言:javascript
复制
 df %>%
  ggplot(aes(x=mth, y=gas_in_storage_t_wh,group=mth)) +
  # 使用ggforce包中的geom_sina函数绘制sina图
  ggforce::geom_sina(aes(color=gas_in_storage_t_wh), alpha=.5, shape=21)+
  # 添加文本标签
  geom_text(data=tibble(x=6.5, y=seq(2,8,2), lab=c("2","4","6","8TWh")),
            aes(x=x, y=y, label=y),inherit.aes = FALSE)+
  # 使用scico包中的scale_color_scico函数为图形添加颜色
  scico::scale_color_scico(palette="roma", direction=-1,
                           labels=scales::label_number(suffix="TWh")) +
  # 设置x轴和y轴的刻度
  scale_x_continuous(breaks=c(seq(1,12,1)), labels=month.abb[1:12]) +
  scale_y_continuous(breaks=c(seq(0,8,2))) +
  coord_polar() +   # 使用极坐标系
  # 使用cowplot包中的theme_minimal_grid函数设置主题
  cowplot::theme_minimal_grid(12, line_size = .3) +
  # 设置图例和轴的样式
  theme(legend.position = "top",
        legend.title=element_blank(),
        legend.text=element_text(size=9.5),
        axis.title=element_blank(),
        axis.text.y=element_blank(),
        plot.margin=margin(.5,0,.3,0, unit="cm"),
        legend.justification = "center",
        legend.margin=margin(b=-15)) +
  # 设置颜色条的样式
  guides(color=guide_colorbar(barwidth = unit(18,"lines"),
                              barheight = unit(.5,"lines")))
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-26 22:06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载R包
  • 导入数据
  • 数据清洗
  • 数据可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档