首页 分享 R语言ggplot2做玫瑰图的简单小例子

R语言ggplot2做玫瑰图的简单小例子

来源:花匠小妙招 时间:2025-08-14 22:15

原创

©著作权归作者所有:来自51CTO博客作者wx6221d9080e88d的原创作品,请联系作者获取转载授权,否则将追究法律责任

P0(FN2ZN}QH8QSC$2~ZEJGI.jpg

今天在一个交流群里看到有人问这个图如何实现?这种图叫玫瑰图,如果使用R语言的ggplot2来做的话, 比较常规的实现办法是先做柱形图,然后再用极坐标,比如

df<-data.frame(x=LETTERS[1:6],
y=sample(1:10,6))

library(ggplot2)

ggplot(df,aes(x=x,y=y))+
geom_col(aes(fill=x),show.legend = F)+
coord_polar()

1.2.3.4.5.6.7.8.

image.png

但是这个花瓣是圆弧形的,并不是推文开头提到的图片中的样式。

印象里好像见过python实现推文开头提到的图。所以搜了关键词 ​​python rose plot​​​,找到了参考链接 ​ ​https://www.codesansar.com/python-programming-examples/plot-rose-curves.htm​​ 发现他构造数据的代码是使用正余弦函数,我们试着用R语言的ggplot2试一下

假设我们有10个数据

x<-1:180
x
y<-sin(10*x*pi/180)

df<-data.frame(x=x,y=abs(y))

df$yz<-df$y*df$z

ggplot(data=df,aes(x=x,y=y))+
geom_area(fill="blue",
alpha=0.5,
color="black")+
coord_polar()+
theme_bw()+
theme(axis.text = element_blank(),
axis.ticks = element_blank(),
panel.border = element_blank(),
axis.title = element_blank())

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.

image.png

这种思路是可行的

下面是完整的代码

library(tidyverse)
library(ggplot2)

set.seed(123456)

df<-data.frame(x=LETTERS[1:10],
y=sample(1:20,10))
df

x<-1:180
x
y<-sin(10*x*pi/180)

df1<-data.frame(x1=x,
y1=abs(y),
var=gl(10,18,labels = LETTERS[1:10]))
df1
merge(df1,df,by.x = 'var',by.y = 'x') %>%
mutate(new_y=y1*y) -> df2

ggplot(data=df2,aes(x=x,y=new_y))+
geom_area(aes(fill=var),
alpha=0.8,
color="black",
show.legend = F)+
coord_polar()+
theme_bw()+
theme(axis.text.y = element_blank(),
axis.ticks = element_blank(),
panel.border = element_blank(),
axis.title = element_blank())+
scale_x_continuous(breaks = seq(9,180,18),
labels = df$x)+
geom_text(data=df,aes(x=seq(9,180,18),
y=y+1,
label=y))

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.

image.png

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

收藏 评论 举报

相关文章

相关知识

R语言ggplot2做玫瑰图(花瓣图)的简单小例子
使用ggplot2绘制风向风速玫瑰图
这个R包不太冷系列三:一种“简单代码+简单调整=即刻出图”的包
掌握R语言:交互式绘图的实战技巧
用R语言绘制玫瑰花
ggplot2包画图总结
r语言 Iris鸢尾花数据的散点图
用R 语言,进行静态绘图和 Shiny 的交互可视化演示
七夕,来用R画朵玫瑰
R语言生态学数据分析

网址: R语言ggplot2做玫瑰图的简单小例子 https://www.huajiangbk.com/newsview2260652.html

所属分类:花卉
上一篇: 种子溯源查询系统
下一篇: 五律·鸡冠花——花之咏(五十二)

推荐分享