我想在一个连续的Y轴上有几个数据系列

时间:2015-10-02 14:36:29

标签: r ggplot2

我有以下数据集

public static bool AllEqual<T>(this IEnumerable<T> source, out T value)
{
    using (var enumerator = source.GetEnumerator())
    {
        if (!enumerator.MoveNext())
        {
            value = default(T);
            return true;
        }

        value = enumerator.Current;
        var comparer = EqualityComparer<T>.Default;

        while (enumerator.MoveNext())
        {
            if (!comparer.Equals(value, enumerator.Current))
            {
                return false;
            }
        }

        return true;
    }
}

我试图创建一个图表,显示每个分区后的平均值 - 我有5组数据(每个20个观察值),我希望图表有5个不同颜色的线来显示比较

我一直在使用:

means_long <- rbindlist(means, use.names = FALSE, fill = FALSE, idcol = "ID")
     ID divisions divs_20 mean20
  1:  1         1      20     19
  2:  1         2      20     19
  3:  1         3      20   19.3
  4:  1         4      20   20.2
  5:  1         5      20   19.2
  6:  1         6      20   18.5
  7:  1         7      20   19.1
  8:  1         8      20   17.8
  9:  1         9      20   19.6
 10:  1        10      20   19.9
 11:  1        11      20   20.7
 12:  1        12      20   21.4
 13:  1        13      20   21.4
 14:  1        14      20   20.6
 15:  1        15      20   22.2
 16:  1        16      20   23.1
 17:  1        17      20   22.5
 18:  1        18      20   23.3
 19:  1        19      20   24.4
 20:  1        20      20   24.4
 21:  2         1      15   14.9
 22:  2         2      15   14.8
 23:  2         3      15   14.2
 24:  2         4      15   12.9
 25:  2         5      15   12.2
 26:  2         6      15   12.9
 27:  2         7      15   13.3
 28:  2         8      15   13.6
 29:  2         9      15   12.7
 30:  2        10      15   12.9
 31:  2        11      15     12
 32:  2        12      15   12.7
 33:  2        13      15   12.9
 34:  2        14      15   14.7
 35:  2        15      15     15
 36:  2        16      15     15
 37:  2        17      15   16.7
 38:  2        18      15   17.1
 39:  2        19      15   18.9
 40:  2        20      15   18.6
 41:  3         1      10    8.5
 42:  3         2      10    8.4
 43:  3         3      10    9.3
 44:  3         4      10    8.4
 45:  3         5      10    7.8
 46:  3         6      10    7.9
 47:  3         7      10    7.8
 48:  3         8      10    7.8
 49:  3         9      10    7.5
 50:  3        10      10    6.7
 51:  3        11      10    6.1
 52:  3        12      10    6.2
 53:  3        13      10    6.4
 54:  3        14      10    5.8
 55:  3        15      10    5.5
 56:  3        16      10    5.1
 57:  3        17      10    5.4
 58:  3        18      10    5.5
 59:  3        19      10    5.8
 60:  3        20      10    6.3
 61:  4         1       5    4.9
 62:  4         2       5    5.3
 63:  4         3       5    5.5
 64:  4         4       5    5.2
 65:  4         5       5    5.2

这将创建一个图表,其中每组数据在y轴上单独绘制。所有数据点在x轴上匹配,但对于EG,而不是跨越0-12的y轴,每个数据集跨越1-12,因此1-12在y轴上重复5次。

我认为它与数据框的布局方式有关,但我无法解决如何更改数据框的问题。

dput的输出(means_long):

ggplot(means_long, aes(x=divisions, y=mean20, colour=ID, group=ID)) + 
  geom_line() + 
  geom_point() + 
  ggtitle("Average number of kinetochore subunits after 20 cell divisions") + 
  xlab("Number of divisions") + 
  ylab("Mean number of kinetochore subunits") + 
  scale_colour_continuous(low = "#132B43", high = "#56B1F7", space="Lab", na.value="grey50", guide="legend")

1 个答案:

答案 0 :(得分:0)

我的y轴是一个因子而不是数值,因此使用下面的代码将其更改为数值。

means_long$mean20 <- as.numeric(as.character(means_long$mean20))

现在我的图表对于所有5个数据集都有一个缩放y轴