Мои данные исчезают, когда я усекаю ось y, чтобы показывать только диапазон 50 - 90. Я помещаю илим в неправильное место?Усечение оси y, данные исчезают
Электронная таблица выглядит следующим образом:
xval yval_LWTW linenames SNP
1 61.4835166 MT9513 NN
2 61.93341478 RITA GG
3 63.31277751 JUDITH CC
4 63.60466558 CO04W320 GG
5 64.84700514 DECADE NN
library(ggplot2)
library(xlsx)
data <- read.xlsx("RdataForGraphsofBestHits.xlsx", sheetIndex=4)
ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP,
scale_fill_manual(values=c(GG="blue",CC="red",NN="green")))) +
geom_bar(stat="identity", width=1) +
theme(axis.title.x=element_blank())
Это дает мне высокий сюжет, потому что данные идут от 61 до 81. Я хочу, чтобы у-оси начинаются в 50, так график будет короче, поэтому я добавлю + ylim (50.0, 90.0) в код.
library(ggplot2)
library(xlsx)
data <- read.xlsx("RdataForGraphsofBestHits.xlsx", sheetIndex=4)
ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP,
scale_fill_manual(values=c(GG="blue", CC="red", NN="green")))) +
geom_bar(stat="identity", width=1) +
theme(axis.title.x=element_blank()) +
ylim(50.0, 90.0)
Теперь я получаю серый фон сюжета с осью у хорошо ограничен до 50 до 90 диапазона, но никаких данных не нанесен на него. Только серый фон и метки осей и легенда.
Я думаю, у меня есть код для создания горизонтального участка.
ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP,
scale_fill_manual(values=c(GG="blue", CC="red", NN="green")))) +
geom_bar(stat="identity", width=1) +
theme(axis.title.x=element_blank()) +
coord_fixed(ratio=1/2)
Таким образом, я могу исправить проблему горизонтали, если я могу исправить проблему исчезновения данных.
Попробуйте фильтровать данные, чтобы соответствовать выходной вы после. –
возможно http://stackoverflow.com/questions/25685185/limit-ggplot2-axes-without-removing-data-outside-limits-zoom. т.е. используйте 'coord_cartesian (ylim = c (50,90))' – user20650
Спасибо, Пьер Лафортун. Такое простое, но умное решение. Не уверен, могу ли я использовать Coord_cartesian и coord_fixed (когда я указываю соотношение 1/2) в том же наборе инструкций, поэтому я могу вычесть 50 из каждой точки данных. Спасибо за идею. – tortoiseshell