分享一个R语言绘制自定义玫瑰图的方法!

之前在网上看到一些程序猿给自己的女朋友啊对象啊用代码画玫瑰花的,大家都把这种浪漫的情节分享出来的,获得很多人的羡慕和祝福。但是我看大部分使用Python、java或者C++来完成的。

但我想着咱这R语言也不赖嘛,肯定也能完成这种简单任务,于是就开始了自己的玫瑰花琢磨之路!话不多说,直接上干货,将代码分享出来给各位舔狗,哦不对,各位帅哥讨女朋友女神的欢心。

require(emojifont)
ggplot() + geom_emoji('cake')
ggplot() + geom_emoji("rose", color=c("#ff00ff")) + theme_void()
ggplot() + geom_emoji("rose", color='blue') + theme_void()
ggplot() + geom_emoji("heart", color='red') + theme_void()

x = seq(-2, 2*pi, length=30)
y = cos(x)
z = -cos(x)
ggplot() +
  geom_emoji('rose',color = '#ff00ff', x=x, y=y, size=10)+
  geom_emoji('heart',color = 'red', x=x, y=z, size=10)+
  geom_line(color = 'red', x=x, y=0, size=10)+
  xlim(-2,2)+
  theme_classic()


library(plotly)
library(colorfindr)
pal <- get_colors("/database/jiangxinyu/Project/Mon-Project/data/R_Visualization/赛博玫瑰/蓝色妖姬.jpg")%>%make_palette((n=10))

x<- seq(0,24) /24
t <- seq(0,575,by = 0.5)/575*20 *pi + 4 *pi
grid <- expand.grid(x = x,t = t)
x <- matrix(grid$x,ncol = 25,byrow = TRUE)
t <- matrix(grid$t,ncol = 25,byrow = TRUE)
p<- (pi/2)*exp(-t/(8*pi))
change <- sin(15 * t) /150
u<-1-(1-(3.6*t)%%(2*pi) /pi)^4/2+change
y <- 2*(x^2- x)^2*sin(p)
r<- u*(x*sin(p) +y*cos(p))
xx=r*cos(t)
yy=r*sin(t)
zz=u*(x*cos(p)-y*sin(p))

pal <- get_colors("/database/jiangxinyu/Project/Mon-Project/data/R_Visualization/赛博玫瑰/蓝色妖姬.jpg")%>%make_palette((n=10))
plot_ly(x = ~xx,y = ~yy,z = ~zz,color = ~zz, colors =pal,opacity = 0.5)%>% add_surface()->plot
add_trace(plot,x=rep(0,4),y=rep(0,4),z=seq(-0.5,0,length=4),mode='lines',line = list(color ='#003300',width = 8))


pal <- get_colors("/database/jiangxinyu/Project/Mon-Project/data/R_Visualization/赛博玫瑰/花仙紫.jpg")%>%make_palette((n=10))
plot_ly(x = ~xx,y = ~yy,z = ~zz,color = ~zz, colors =pal,opacity = 0.5)%>% add_surface()->plot
add_trace(plot,x=rep(0,4),y=rep(0,4),z=seq(-0.5,0,length=4),mode='lines',line = list(color ='#003300',width = 8))

大概画出来会是这些个样子,具体根据自己的审美可以调整DIY!

 

 

 

对了,最近用GPT绘制图片。发现它画的是真不赖啊!贴一张!

有想要使用gpt4写代码绘图的朋友可以看看这篇文章:

【保姆级教程】国内ChatGTP升级4.0第N次失败!虚拟信用卡救大命!如何充值升级Chatgpt?【保姆级教程】国内ChatGTP升级4.0第N次失败!虚拟信用卡救大命!如何充值升级Chatgpt?旨在帮助想要使用Chatgpt提高工作效率的人群快速获取Chatgpt账号以及快速升级ChatGPT4icon-default.png?t=N7T8https://mp.weixin.qq.com/s/zbTplfranuPiEHhOQv6vrQ 

 

南丁格尔玫瑰图在R语言中可以使用ggplot2包来绘制。首先,你需要安装ggplot2包并加载它。然后,你可以使用geom_bar()函数来创建南丁格尔玫瑰图。在geom_bar()函数中,你需要设置参数stat = "identity"来确保每个柱子的高度表示数据的大小。此外,你还需要设置参数coord_polar()来将坐标系设置为极坐标系。最后,你可以使用其他函数和参数来自定义图表的外观,如添加标题、调整颜色等。以下是一个示例代码: ```R # 安装和加载ggplot2包 install.packages("ggplot2") library(ggplot2) # 创建数据框 data <- data.frame(category = c("A", "B", "C", "D"), value = c(10, 20, 30, 40)) # 绘制南丁格尔玫瑰图 ggplot(data, aes(x = category, y = value, fill = category)) + geom_bar(stat = "identity") + coord_polar() + labs(title = "南丁格尔玫瑰图", x = "类别", y = "数值") ``` 这段代码将创建一个简单的南丁格尔玫瑰图,其中x轴表示类别,y轴表示数值。每个柱子的高度表示数据的大小,颜色表示不同的类别。你可以根据自己的需求进行进一步的自定义和调整。 #### 引用[.reference_title] - *1* [南丁格尔玫瑰图 With ggplot2【R语言】](https://blog.csdn.net/weixin_46128755/article/details/129841707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [R语言-南丁格尔玫瑰图](https://blog.csdn.net/weixin_44788825/article/details/104943249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值