Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在每一行的顶部绘制线图?_R - Fatal编程技术网

R 如何在每一行的顶部绘制线图?

R 如何在每一行的顶部绘制线图?,r,R,我试着把每一行的线条画成一条线。它们的颜色应该不同。棘手的部分是如何为每行添加名称 下面是数据示例 df<- structure(list(name = structure(c(1L, 2L, 3L, 4L, 7L, 8L, 6L, 12L, 10L, 5L, 9L, 13L, 11L, 14L), .Label = c("A", "AAD", "ABC", "ACF", "ACN", "ADDCR", "ADR", "AFFT", "ARFT", "ASED", "ASEDZ",

我试着把每一行的线条画成一条线。它们的颜色应该不同。棘手的部分是如何为每行添加名称

下面是数据示例

df<- structure(list(name = structure(c(1L, 2L, 3L, 4L, 7L, 8L, 6L, 
12L, 10L, 5L, 9L, 13L, 11L, 14L), .Label = c("A", "AAD", "ABC", 
"ACF", "ACN", "ADDCR", "ADR", "AFFT", "ARFT", "ASED", "ASEDZ", 
"AXED", "AZEDR", "AZERD"), class = "factor"), X1 = c(1487.2, 
48705.7, 59.4, 1676, 998.6, 35936, 1573.8, 1553.8, 53.9, 56.8, 
2432.2, 431.8, 820.1, 10866.9), X2 = c(3251, 5217.2, 64.2, 45.4, 
65.8, 2937.6, 564, 659.6, NA, 68.9, 654.9, 130, 720.7, 1457.1
), X3 = c(6364.3, 2752.5, 147.9, 6647.6, 21444.6, 1512.2, 5615, 
2190, 506.3, 2150.3, 273.2, 1922.9, 10762, 12900.8), X4 = c(4942.3, 
3885.8, 248.8, 7643.5, 12741.5, 2141.8, 5407.1, 2486.4, 542.9, 
5058.1, 846.7, 5322, 6887.4, 7000.6), X5 = c(2301.2, 2173.5, 
313.1, 14112.1, 8298.2, 1615.7, 7516.3, 3094.1, 777.8, 12007.9, 
901.4, 9291.9, 4670.1, 3629.5), X6 = c(2779.1, 5564, 211.7, 9172.2, 
9581.5, 2136.2, 7630.7, 3986.6, 440.9, 6898.1, 2280.4, 6311.1, 
4080.4, 4843.9)), .Names = c("name", "X1", "X2", "X3", "X4", 
"X5", "X6"), class = "data.frame", row.names = c(NA, -14L))

我不明白,一个图例是不够的?@S Rivero如果行数太多,那么图例就非常混乱,不是吗?@nik-…如果行数太多,名称就会混乱和重叠。一般的解决方案是不在一个绘图上绘制多条线。有14组独立的数据,我想我从来没有见过一个合理的单一情节。你可能会考虑像GGPROT2这样的“刻面”情节很容易——这已经很好了。它使所有的名字重叠。是否有避免重叠的方法?根据您有多少行,您可以通过如下修改listtop.points,rot=45,cex来调整字体大小、名称位置和旋转=1@nik-我的回答有用吗?我接受并喜欢它。你能补充一些解释吗?因此,我将学习确保-基本上,在继续绘图之前,我们首先必须获得良好的数据结构。在这个特殊的例子中,我首先转置了数据,然后使用melt函数来获得更好的结构。然后简单地用geom_线绘制线。要添加标签,可以使用directlabels软件包并查看?direct.label。如果你需要进一步解释,请告诉我。
library(reshape2)
library(ggplot2)
library(directlabels)

n <- df$name
df <- as.data.frame(t(df[,-1]))
colnames(df) <- n
rownames(df) = NULL
df$x = row.names(df)

mlt = melt(df)

p <- ggplot(data = mlt, aes(x = x, y = value,
                            group = variable, color = variable)) +
  geom_line()

direct.label(p, list(last.points, hjust = -0.25))