2016-03-17 4 views
-1

Я хочу удалить точки 4 и 5 по оси x графика, который я сгенерировал с помощью ggplot. В настоящее время мои рентгеновские значения включают только 0, 1, 2, 3 и 6.Удалите определенное значение x из ggplot

Вот кадр my.data данных:

 x    y 
1  2  0.1250000 
2  0  0.3750000 
3  0  0.3500000 
4  0  0.6060606 
5  1  0.7000000 
6  0  0.6000000 
7  0  0.4500000 
8  6  0.9500000 
9  0  0.7000000 
10  3  0.5000000 
11  0  0.6000000 
12  3  0.1250000 
13  0  0.3750000 
14  0  0.3333333 
15  1  0.6818182 
16  0  0.0000000 
17  2  0.5000000 

Код:

ggplot(my.data, aes(x,y)) + geom_point()+geom_smooth() 

Вот является сюжет, который генерируется:

enter image description here

Спасибо!

+2

Это не для меня ясно, что вы хотите. Вы хотите закончить диапазон по оси X в 3. Затем (см. Решение DatamineR), вы можете использовать '+ coord_cartesian (xlim = c (0, 3)'. Или вы хотите иметь только значения x, которые на самом деле появляются в ваших данных по оси X. Тогда, возможно, использование 'ggplot (my.data, aes (factor (x), y))' - это то, что вам нужно. – Stibu

+0

Ах, ну, не знаете, почему это получилось, угадайте, вопрос не был достаточно конкретным. – statsguyz

+0

Ну, это еще не совсем ясно. Пожалуйста, отредактируйте его и уточните. И было бы неплохо, если бы вы могли добавить некоторые данные. Вы можете опубликовать вывод 'dput (my.data) '. – Stibu

ответ

1

Например, с помощью mtcars). Это масштабирование, то есть статы, ни под влиянием сокращения данных:

ggplot(mtcars, aes(mpg,qsec)) + geom_point()+geom_smooth() + coord_cartesian(xlim = c(10, 25)) 
Смежные вопросы