2014-01-17 3 views
0

Это мой R сценарий:странно ось графика для моего R сценария с ggplot

#!/usr/bin/env Rscript 

library (ggplot2) 

data = read.table ("downloads.txt", header=T) 
data$number = factor (data$Size) 
data$PITtype = factor (data$PITtype) 

g.all <- ggplot (data, aes (x=Time, y=number, color=PITtype)) + 
    geom_point (size=2) + 
    geom_line() + 
    ylab ("# Pending Downloads") + 
    theme_bw() 

png ("pendingDownloads_graph.png", width=800, height=800) 
print (g.all) 
x = dev.off() 

и это набор данных, который я использовал:

Time PITtype Size 
3 SimplePIT 60 
6.25 SimplePIT 127 
9.5 SimplePIT 197 
12.75 SimplePIT 249 
16 SimplePIT 319 
19.25 SimplePIT 381 
22.5 SimplePIT 459 
25.75 SimplePIT 531 
29 SimplePIT 594 
32.25 SimplePIT 668 
35.5 SimplePIT 723 
38.75 SimplePIT 774 
42 SimplePIT 851 
45.25 SimplePIT 902 
48.5 SimplePIT 959 
51.75 SimplePIT 1020 
55 SimplePIT 1092 
58.25 SimplePIT 1167 
61.5 SimplePIT 1223 
64.75 SimplePIT 1283 
68 SimplePIT 1337 
71.25 SimplePIT 1420 
74.5 SimplePIT 1515 
77.75 SimplePIT 1607 
81 SimplePIT 1662 
84.25 SimplePIT 1728 
87.5 SimplePIT 1792 
90.75 SimplePIT 1854 
94 SimplePIT 1931 

Я получил этот странный график (см 'y', все черные) http://i40.tinypic.com/2dvivdf.png и эта ошибка: geom_path: Каждая группа состоит только из одного наблюдения. Нужно ли настраивать групповую эстетику?

Что случилось?

+2

Поскольку вы создали «число» как фактор, и каждое число уникально, у вас есть фактор с таким количеством уровней, как строки. Что вы здесь делаете? Зачем создавать фактор? – Spacedman

+0

Я не знаю, как использовать R, я только переопределяю скрипт. Я только хочу иметь, как размер increse во времени. – user2369478

ответ

2

Вам не нужно создавать столбец number, и вам даже не нужно ggplot2. Вы можете сделать:

> plot(data$Size, data$Time) 

, чтобы получить простой участок разброса.

ggplot2 решение немного симпатичнее, и поскольку у вас есть только один PITtype нет никакого смысла в том числе ему:

> ggplot(data,aes(x=Time,y=Size))+geom_point()+geom_line() 

Если у вас есть данные с более чем на PITtype и хотите, чтобы цвет точки по-разному, включают в себя это:

> ggplot(data,aes(x=Time,y=Size,col=PITtype))+geom_point()+geom_line() 

Но вы, вероятно, должны прочитать некоторую базовую документацию R, где вы найдете ответы быстрее, чем здесь.

Смежные вопросы