首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ggplot2线条绘制虚线和箭头

ggplot2线条绘制虚线和箭头
EN

Stack Overflow用户
提问于 2018-08-18 19:47:23
回答 1查看 411关注 0票数 1

我在试着画一个线条图。我想获得一个由线条连接起来的点图。我想要一种基于方法(MET)的不同线型(虚线或非虚线)和基于变量(Var)的不同颜色线条。我有4次观察(MD):cd,15,30,45。

我想添加一个从左到右的箭头。

这是我的数据库:

代码语言:javascript
复制
> gra
   id MD        val  MET      Var
1   1 cd   0.000000 1-KM   LRT_DM
2   2 cd   0.000000  CIF   LRT_DM
3   3 15  14.740000 1-KM   LRT_DM
4   4 15  17.050000  CIF   LRT_DM
5   5 30  34.740000 1-KM   LRT_DM
6   6 30  35.230000  CIF   LRT_DM
7   7 45  55.790000 1-KM   LRT_DM
8   8 45  54.550000  CIF   LRT_DM
9   1 cd   0.000000 1-KM  LRT_HTN
10  2 cd   0.000000  CIF  LRT_HTN
11  3 15   6.321839 1-KM  LRT_HTN
12  4 15   6.024096  CIF  LRT_HTN
13  5 30  13.793103 1-KM  LRT_HTN
14  6 30  12.650602  CIF  LRT_HTN
15  7 45  36.781609 1-KM  LRT_HTN
16  8 45  37.951807  CIF  LRT_HTN
17  1 cd   0.000000 1-KM  LGIT_DM
18  2 cd   0.000000  CIF  LGIT_DM
19  3 15  16.270784 1-KM  LGIT_DM
20  4 15  16.206483  CIF  LGIT_DM
21  5 30  33.847981 1-KM  LGIT_DM
22  6 30  33.253301  CIF  LGIT_DM
23  7 45  50.831354 1-KM  LGIT_DM
24  8 45  50.060024  CIF  LGIT_DM
25  1 cd   0.000000 1-KM LGIT_HTN
26  2 cd   0.000000  CIF LGIT_HTN
27  3 15   5.714286 1-KM LGIT_HTN
28  4 15   5.714286  CIF LGIT_HTN
29  5 30  12.380952 1-KM LGIT_HTN
30  6 30  12.380952  CIF LGIT_HTN
31  7 45  36.190476 1-KM LGIT_HTN
32  8 45  36.190476  CIF LGIT_HTN
33  1 cd   0.000000 1-KM  LGITHTN
34  2 cd   0.000000  CIF  LGITHTN
35  3 15  15.217391 1-KM  LGITHTN
36  4 15  15.217391  CIF  LGITHTN
37  5 30  45.652174 1-KM  LGITHTN
38  6 30  45.652174  CIF  LGITHTN
39  7 45 117.391304 1-KM  LGITHTN
40  8 45 117.391304  CIF  LGITHTN
41  1 cd   0.000000 1-KM  LGUT_DM
42  2 cd   0.000000  CIF  LGUT_DM
43  3 15  16.470588 1-KM  LGUT_DM
44  4 15  16.867470  CIF  LGUT_DM
45  5 30  34.117647 1-KM  LGUT_DM
46  6 30  33.734940  CIF  LGUT_DM
47  7 45  51.764706 1-KM  LGUT_DM
48  8 45  50.602410  CIF  LGUT_DM
49  1 cd   0.000000 1-KM LGUT_HTN
50  2 cd   0.000000  CIF LGUT_HTN
51  3 15   5.714286 1-KM LGUT_HTN
52  4 15   5.714286  CIF LGUT_HTN
53  5 30  12.380952 1-KM LGUT_HTN
54  6 30  12.380952  CIF LGUT_HTN
55  7 45  36.190476 1-KM LGUT_HTN
56  8 45  36.190476  CIF LGUT_HTN

下面是我的代码:

代码语言:javascript
复制
library(ggplot2)
library(grid)
gra$MD<-factor(gra$MD, levels=c("cd", "15", "30", "45"))
gra$MET<-factor(gra$MET, levels=c("1-KM", "CIF"))
gra$Var<-factor(gra$Var, levels=c("LRT_DM", "LRT_HTN","LGIT_DM",    "LGIT_HTN", "LGITHTN",  "LGUT_DM"   ,"LGUT_HTN"))

ggplot(data=gra, aes(x = gra$MD, y = gra$val, colour = gra$Var)) +geom_line(arrow = arrow())+geom_point()

下面是我得到的结果:

为什么我没有台词?如何添加虚线/非虚线选项?我试过了:

代码语言:javascript
复制
ggplot(gra, aes(x = gra$MD, y = gra$val, colour = gra$Var, group= gra$MET)) + geom_line(aes(linetype=gra$MET))+geom_point()

但它不起作用。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-18 19:59:18

只需将linetype映射到MET

您的主要问题是,您正在尝试为离散的X比例创建折线图。如果您仍然希望保留"cd“作为x轴上的标签,您可以这样做。

代码语言:javascript
复制
ggplot(gra, aes(x = as.integer(MD), y = val, colour = Var, linetype = MET)) +
  geom_line(arrow = arrow()) +
  geom_point() +
  scale_x_continuous(labels = levels(gra$MD))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51908304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档