我在试着画一个线条图。我想获得一个由线条连接起来的点图。我想要一种基于方法(MET)的不同线型(虚线或非虚线)和基于变量(Var)的不同颜色线条。我有4次观察(MD):cd,15,30,45。
我想添加一个从左到右的箭头。
这是我的数据库:
> 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下面是我的代码:
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()下面是我得到的结果:

为什么我没有台词?如何添加虚线/非虚线选项?我试过了:
ggplot(gra, aes(x = gra$MD, y = gra$val, colour = gra$Var, group= gra$MET)) + geom_line(aes(linetype=gra$MET))+geom_point()但它不起作用。
谢谢
发布于 2018-08-18 19:59:18
只需将linetype映射到MET。
您的主要问题是,您正在尝试为离散的X比例创建折线图。如果您仍然希望保留"cd“作为x轴上的标签,您可以这样做。
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))

https://stackoverflow.com/questions/51908304
复制相似问题