Итак, у меня есть куча данных, которые я отобрал в качестве примера ниже:
Sequence Abundance Length
CAGTG 3 25
CGCTG 82 23
GGGAC 4 25
CTATC 16 23
CTTGA 14 25
CAAGG 9 24
GTAAT 5 24
ACGAA 32 22
TCGGA 10 22
TAGGC 30 21
TGCCG 25 21
TCCGG 2 21
CGCCT 22 24
TTGGC 4 22
ATTCC 4 23
Я показываю здесь только первые 4 слова каждой последовательности, но в действительности они имеют длину "Length". Я смотрю на обилие последовательностей для каждого класса размеров, которые у меня здесь есть. Кроме того, я хочу визуализировать долю изобилия, которую конкретная последовательность представляет в своем размерном классе. В настоящее время я могу построить гистограмму, как показано на рисунке:
ggplot(tab, aes(x=Length, y=Abundance, fill=Sequence))
+ geom_bar(stat='identity')
+ opts(legend.position="none")
Это хорошо для такого небольшого набора данных, но в моем реальном наборе данных около 1,7 миллиона строк. Это выглядит очень красочно, и я вижу, что определенные последовательности имеют преобладающее обилие в одном размерном классе, но это очень грязно.
Я хотел бы иметь возможность упорядочить цветные столбики для каждого размера по обилию последовательности. Т.е. столбики с самым высоким обилием в пределах своего столбика находятся внизу каждого столбика, а столбики с самым низким обилием - вверху. Так это будет выглядеть гораздо более презентабельно.
Есть идеи, как это сделать в ggplot2? Я знаю, что в aes() есть параметр "order", но я не могу понять, что он должен делать с данными в том формате, который у меня есть.