在ggplot2中绘制一个数字线图

时间:2017-10-20 17:28:40

标签: r ggplot2 graph

我有2列的数据集,一个是因子,另一个是每个因子水平的平均分数。 我想创建一个数字线图,其中因子标签可以在数字线上显示在数字线上,可以是水平线或垂直线。例如 Sample Graph 更新: 我用答案中提供的代码测试了我的实际数据,结果如下。

数据:

Category    dim1
Academic    -20.0285
AdminWrit   -24.262
BInd.   1.343235294
BNews   -5.69675
BRDDiss 11.981
BRDInt  14.639
BRDNws  -16.9715
BRDTlks 7.953
BssLett -22.146
BTech   -10.824
ClsLessons  3.5675
Comments    8.92779661
Comntry -0.941
Dem/Doc -7.176
Editorial   -14.969
ExmScript   -11.881
F2FConv 12.89844444
FBGroups    14.20809091
FBStatus    5.1265
Leg/ThsPrs  -13.772
N-BRDTlks   -1.532
Novel   -3.556
NwsRep  -14.25
Par/PolDeb  3.971111111
Popular -9.94925
Reprtage    -19.255
Sh-Story    1.363
SkillHob    -8.903
SocLett -10.63133333
Speech  -1.215666667
StdntEssy   -7.786
Tweets  9.68675

结果:

1 个答案:

答案 0 :(得分:3)

你可以尝试别的东西(你的桌子应该被命名为d):

library(ggplot2)
ggplot(d) +
    geom_text(aes(-1, Score, label = Score)) +
    geom_text(aes(1, Score, label = Category)) +
    geom_vline(xintercept = 0, linetype = 4) +
    coord_cartesian(xlim = c(-5, 5)) +
    labs(x = NULL,
         y = NULL) +
    theme_classic() +
    theme(axis.line.y = element_blank(),
          axis.ticks = element_blank(),
          axis.text = element_blank())

enter image description here