2016-07-06 3 views
0

данных: У меня есть dataframe с 2-мя колоннамиПроблема с участков в R

Col1 20160628 20160629 20160630 20160701 20160702 
Col2 500  600  700  800  900 

мне нужно Col1 в оси х и Col2 быть у оси

Когда я использую сюжет, чтобы сделать график , на оси x, показывающей такие точки данных, как 20160680 и т. д., что очень неверно на графике.

Мне нужны эти 5 баллов на графике на равном расстоянии.

+0

делает преобразование вашего col1 фактора помочь достичь того, чего вы хотите? –

+0

Большое вам спасибо, это ответ на мой вопрос. –

+0

@ ZheyuanLi Хотя я мог отметить 2 ответа !!!!, твой был тот, который работал для меня первым. –

ответ

1

Очевидная вещь, которую вы можете попробовать это:

x <- c(20160628,20160629,20160630,20160701,20160702) 
y <- 5:9 * 100 

x <- as.character(as.Date(as.character(x),format = "%Y%m%d")) ## convert to date 
# [1] "2016-06-28" "2016-06-29" "2016-06-30" "2016-07-01" "2016-07-02" 
plot(y, xaxt = "n", xlab = "Date") ## do not draw x-axis 
axis(1, at = 1:length(y), labels = x) ## add x-axis, using date as axis labels 

enter image description here

+0

Кажется, это правильный путь. Если вы планируете данные даты, не предполагайте, что они одинаково распределены, и используйте фактическую дату. – thelatemail

1

Поскольку у вас есть как кадр данных, вы можете использовать ggplot2 для черчения.

x <- c(20160628,20160629,20160630,20160701,20160702) 
y <- 5:9 * 100 
x <- as.character(as.Date(as.character(x),format = "%Y%m%d")) 
data <- data.frame(x,y) 

library(ggplot2) 
ggplot(data,aes(x=x,y=y)) + 
    geom_point() + 
    labs(x="Date",y="Value") 

enter image description here