【问题标题】:Issue with Plots in RR中的绘图问题
【发布时间】:2016-07-06 22:42:03
【问题描述】:

数据: 我有一个包含 2 列的数据框

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

x 轴需要 Col1,y 轴需要 Col2

当我使用 plot 来制作图表时,它在 x 轴上显示了 20160680 等数据点,这在图表上非常具有误导性。

我需要图形上等距的这 5 个点。

【问题讨论】:

  • 将 col1 转换为因子是否有助于实现您想要的结果?
  • 非常感谢,这回答了我的问题。
  • @ZheyuanLi 我虽然可以标记 2 个答案!!!!,你的答案是第一个为我工作的。

标签: r plot


【解决方案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

【讨论】:

  • 似乎是正确的方法。如果您正在绘制日期数据,请不要假设它们是等距的,而是使用实际日期。
【解决方案2】:

由于您将其作为数据框,您可以使用 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")

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2021-04-02
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    相关资源
    最近更新 更多