R语言作图——Beeswarm plot(蜜蜂图)

原创:黄小仙

今天…
当小仙又打下"今天"这两个字的时候,小时候每天一篇日记的恐惧好像又回来了,过去这么久,我的文学功底果然没有一点长进!

今天给大家分享的图来自于Nature Biotechnology上的一篇文章。
Nature系列的文章就不用多说了,无数科研人心中的神刊,一篇Nature文章需要耗费大量的心血和经费。不过小仙想提醒大家一下,当你中了Nature,除了高兴之外还要留意一下,文章发表还要再花一笔巨款。如果选择OA发表,版面费是€9500,换成人民币要66880元,不得不说这是个很吉利的数字啊,哈哈。有意思的是,Nature官方也给了解释,为什么他们的版面费会比一般的期刊贵这么多,大概就是他们收到的稿件太多,拒稿花费了大量的精力。小仙只有一个评价,暴利且傲娇。希望有一天咱们国内也能有个这样的期刊。

回归正题,要模仿的图如下:

Step1. 绘图数据的准备
首先还是要把你想要绘图的数据调整成R语言可以识别的格式, 在excel中保存成csv格式。
数据的格式如下图:

Step2. 绘图数据的读取

data <- read.csv(“your file path”, header = 
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是一个简单的Python小蜜蜂游戏: ```python import pygame import random # 初始化pygame pygame.init() # 设置游戏窗口的宽和高 width = 600 height = 600 # 创建游戏窗口 screen = pygame.display.set_mode((width, height)) # 设置游戏窗口标题 pygame.display.set_caption("小蜜蜂游戏") # 加载小蜜蜂片 bee_img = pygame.image.load("bee.png") # 设置小蜜蜂的初始位置和速度 bee_x = 250 bee_y = 500 bee_speed = 5 # 创建蜜蜂列表和速度列表 bees = [] bee_speeds = [] # 初始化蜜蜂列表和速度列表 for i in range(10): bees.append(pygame.Rect(random.randint(0, width-50), random.randint(-500, 0), 50, 50)) bee_speeds.append(random.randint(1, 5)) # 加载背景音乐 pygame.mixer.music.load("bg_music.mp3") pygame.mixer.music.set_volume(0.2) pygame.mixer.music.play(-1) # 创建字体对象 font = pygame.font.Font(None, 36) # 初始化得分和游戏结束标志 score = 0 game_over = False # 游戏循环 while True: # 处理游戏事件 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: bee_x -= bee_speed elif event.key == pygame.K_RIGHT: bee_x += bee_speed # 移动蜜蜂 for i in range(10): bees[i].move_ip(0, bee_speeds[i]) if bees[i].bottom > height: bees[i].top = random.randint(-500, 0) bees[i].left = random.randint(0, width-50) bee_speeds[i] = random.randint(1, 5) score += 1 # 清除上一帧画面 screen.fill((255, 255, 255)) # 绘制小蜜蜂蜜蜂 screen.blit(bee_img, (bee_x, bee_y)) for bee in bees: pygame.draw.rect(screen, (255, 0, 0), bee) # 绘制得分 score_text = font.render("得分:%d" % score, True, (0, 0, 0)) screen.blit(score_text, (10, 10)) # 判断游戏是否结束 for bee in bees: if bee.colliderect(pygame.Rect(bee_x, bee_y, 50, 50)): game_over = True break if game_over: game_over_text = font.render("游戏结束!", True, (255, 0, 0)) screen.blit(game_over_text, (width//2 - 100, height//2 - 20)) # 更新屏幕显示 pygame.display.update() ``` 在运行这个程序之前,你需要准备以下素材文件: - bee.png:小蜜蜂片文件 - bg_music.mp3:游戏的背景音乐文件 将这两个文件放在程序同级目录下,然后运行程序即可开始游戏。在游戏中,你需要控制小蜜蜂躲避下落的蜜蜂,并尽可能地吃到更多的蜜蜂,得分越高,游戏难度也会相应提高。如果小蜜蜂蜜蜂撞到,游戏就会结束。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值