楼主: fcc_a
770 8

[问答] 各位大佬么?知道这个图片是怎么画出来的啊 [推广有奖]

  • 0关注
  • 0粉丝

初中生

23%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
8.0478
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
72 点
帖子
8
精华
0
在线时间
9 小时
注册时间
2023-9-8
最后登录
2023-10-22

楼主
fcc_a 发表于 2023-9-8 21:43:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
微信图片_20230724125741.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


沙发
luoyt 发表于 2023-9-8 23:51:46
从右轴的对齐方式看,不像是用程序画出来的
柱状图竟然还有被切断的情况
底纹很密我觉得没什么意义
重要的标示反而不全
初步判断是没有什么做图经验的人用技术含量很低的方式画出来的
颜色搭配,红配黑我觉得不好
做图人的基本审美也欠佳

我主要看看我还能不能回复
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
实不相瞒今晚想你 发表于 2023-9-9 01:17:51
先在Excel把数据编辑好,然后插图数据图表就好了,数据图表的类型可以自己选择的
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
drunkfish69 发表于 2023-9-9 09:17:35
没有数据画不出来,只能给个大致的思路。先用高级的功能( 例如barplot)创建图片, 再用低级功能(例如lines)丰富图片。
  1. bar <- c(1, 4, 3, 4, 2)
  2. line <- bar/2

  3. bp <- barplot(bar)
  4. lines(bp, line, col='blue')
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

报纸
fcc_a 发表于 2023-9-9 18:37:31
luoyt 发表于 2023-9-8 23:51
从右轴的对齐方式看,不像是用程序画出来的
柱状图竟然还有被切断的情况
底纹很密我觉得没什么意义
主要是想画类似的图,各月发病数及年发病率

地板
fcc_a 发表于 2023-9-9 18:39:41
drunkfish69 发表于 2023-9-9 09:17
没有数据画不出来,只能给个大致的思路。先用高级的功能( 例如barplot)创建图片, 再用低级功能(例如li ...
数据是2005-2022年每月的发病数和每年的发病率

7
drunkfish69 发表于 2023-9-10 11:48:21
胡乱造了些数据,坐标设置也没进一步设置,可以大致参考一下
  1. library(tidyverse)

  2. x <- seq(as.Date('2005-01-01'), as.Date('2022-12-31'), by='months')
  3. y <- sample(c(1:20), length(x), replace = T)
  4. df <- as.data.frame(x)
  5. df <- cbind(df, y) |>
  6.   mutate(year = year(x), month = month(x))
  7. df2 <- df |>
  8.   group_by(year) |>
  9.   select(year, y) |>
  10.   summarise(y = sum(y)/5)
  11. df2 <- df2 |>
  12.   mutate(x = paste0(year, '0701'))
  13. df2$x <- as.Date(df2$x, '%Y%m%d')

  14. ggplot(NULL, aes(x, y)) +
  15.   geom_col(data=df, col='blue', alpha=.5) +
  16.   geom_line(data=df2, col='red') +
  17.   geom_point(data = df2, col='brown')
复制代码

Rplot.png (58.43 KB)

Rplot.png

已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

8
fcc_a 发表于 2023-9-10 21:14:39
drunkfish69 发表于 2023-9-10 11:48
胡乱造了些数据,坐标设置也没进一步设置,可以大致参考一下
非常感谢您!

9
drunkfish69 发表于 2023-9-11 06:34:06
把坐标及标签完善一下
  1. library(tidyverse)

  2. x <- seq(as.Date('2005-01-01'), as.Date('2022-12-31'), by='months')
  3. y <- sample(c(1:20), length(x), replace = T)
  4. df <- as.data.frame(x)
  5. df <- cbind(df, y) |>
  6.   mutate(year = year(x), month = month(x))
  7. df2 <- df |>
  8.   group_by(year) |>
  9.   select(year, y) |>
  10.   summarise(y = sum(y)/10)
  11. df2 <- df2 |>
  12.   mutate(x = paste0(year, '0701'))
  13. df2$x <- as.Date(df2$x, '%Y%m%d')

  14. ggplot(NULL, aes(x, y)) +
  15.   geom_col(data=df, col='blue', alpha=.5) +
  16.   labs(x='Date', y='Number of Cases') +
  17.   scale_y_continuous(expand = c(0,0),limits = c(0,20),
  18.                      sec.axis = sec_axis(~./5, name = 'Rate of Year',
  19.                                          breaks = seq(0, 4, .5))) +
  20.   geom_line(data=df2, col='red') +
  21.   geom_point(data = df2, col='brown')
复制代码

Rplot01.png (65.58 KB)

Rplot01.png

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-8 21:57