查看: 271|回复: 3

[R语言] ggplot2绘制南丁格尔玫瑰图

[复制链接]
  • TA的每日心情

    2019.6.6 16:12
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    迅猛龙

    Rank: 8Rank: 8

    主题
    32
    奥币
    1026
    积分
    1102
    注册时间
    2018.7.12
    在线时间
    40 小时

    热心会员活跃会员


    发表于 2019.6.25 19:45:03 | 显示全部楼层 |阅读模式
    本帖最后由 琐事 于 2019.6.25 19:44 编辑

    在绘图的过程中,我们需要将数据系列放到一个结构化的空间中,即坐标系,它赋予X轴,Y轴坐标或者给出经纬度表示的意义。常用的坐标系有直角坐标系(也叫笛卡尔坐标系)、极坐标系和地理坐标系。

    我们在ggplot2中经常绘制的条形图,气泡图,散点图等,都是用的直角坐标系,而在ggplot2中绘制南丁格尔玫瑰图、雷达图,饼图等则需要采用极坐标系。

    南丁格尔玫瑰图为极坐标下的柱形图。

    在R语言ggplot2中使用coord_polar()函数可以将直角坐标系转换为极坐标系,具体语句为:

    coord_polar(theta = “x”, #将X轴转换为圆周,Y轴转换为半径
    start= 0 ,
    direction = 1, # direction表示排列方向,direction = 1为顺时针,direction = -1为逆时针
    clip =“on”).


    那么如何绘制南丁格尔玫瑰图?


    单数据系列南丁格尔玫瑰图。


    mydata<- data.frame(a=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"),b=c(50, 60, 70, 20,90,110,30))
    myAngle<-seq(-20,-340,length.out =7)

    p1<- ggplot(mydata) +
      geom_bar(aes(x=a, y=b),width =1,stat="identity",
      colour ="black",fill="#F8766D") +
      geom_text(aes(x=a,y = b-8,label =b),color="white") #绘制柱形图

    p1


    p2 <- p1 + coord_polar(theta ="x",start=0) #转换极坐标,绘制南丁格尔玫瑰图
    p2

    p3<- p2 +ylim(c(0,120))+
          theme_light()  #修改主题,去掉背景

    p4<- p3 + theme(axis.text.x=element_text(size = 13,colour="black",angle= myAngle)) #设定坐标轴的角度,使之垂直于中心线
    p4


    如果觉得中心部分太挤,也可以将Y轴的最小值改为负值。
    ylim(c(-20,120))

    最后,还可以到AI里面再修饰一下。



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 1奥币 +10 收起 理由
    基迪奥-李泽标 + 10 Nice!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    害羞
    2019.7.8 13:42
  • 签到天数: 575 天

    连续签到: 6 天

    [LV.9]以坛为家II

    迅猛龙

    Rank: 8Rank: 8

    主题
    26
    奥币
    3484
    积分
    1628
    注册时间
    2016.1.8
    在线时间
    370 小时

    发表于 2019.6.25 20:07:26 | 显示全部楼层
    ZAN
    回复

    使用道具 举报

  • TA的每日心情

    2019.7.1 10:17
  • 签到天数: 92 天

    连续签到: 1 天

    [LV.6]常住居民II

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    310
    奥币
    941
    积分
    4650
    注册时间
    2018.4.19
    在线时间
    754 小时

    推广达人宣传达人


    发表于 2019.6.26 09:14:54 | 显示全部楼层
    点个赞
    回复

    使用道具 举报

  • TA的每日心情
    害羞
    5 小时前
  • 签到天数: 46 天

    连续签到: 12 天

    [LV.5]常住居民I

    钵水母

    Rank: 3Rank: 3

    主题
    3
    奥币
    416
    积分
    149
    注册时间
    2019.4.14
    在线时间
    41 小时

    热心会员活跃会员


    发表于 2019.6.27 10:24:19 | 显示全部楼层
    学习了!
    回复

    使用道具 举报

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

    本版积分规则

    快速回复 返回顶部 返回列表