分享一个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 

 

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值