仅在 ggplot2 scale_x_datetime(limits) 中设置下限
Set only lower limits in ggplot2 scale_x_datetime(limits)
我有一个每 5 分钟读取一次值的数据库。为了显示数据,我有一个闪亮的应用程序,每次连接到它时都会绘制它。我最近添加了一个 daterangeinput,以便 select 要绘制的数据。
问题出在我绘制同一天的数据时。使用 scale_x_datetime(limits)
时显示很小(因为它表示直到同一天晚上,尽管数据尚不存在)。这是一个例子:
我不介意下限,因为它们将永远存在。我想设置下限并让上限自由(最后一个值出现在绘图的右边界)。
我尝试将第二个限制设置为 NULL
或者甚至不设置它,但它会引发错误。
代码如下:
ggplot(query, aes(x=DateTime, y=Freq, group=1)) +
geom_line() +
labs(x="Time", y="Freq") +
ggtitle("PLOT") +
scale_y_continuous(breaks= pretty_breaks()) +
scale_x_datetime(limits = as.POSIXct(input$rangeDate))
数据框 query
看起来像这样,例如:
DateTime Freq
1 2015-09-11 09:22:57 10
2 2015-09-11 09:27:57 10
3 2015-09-11 09:32:57 11
也许解决方案可以通过其他方式实现。我将非常感谢您的评论和回答。
谢谢
limits
需要长度为 2 的向量才能工作,因此忽略上限将不起作用。
另外,正如我所见, rangeDate
不是 ggplot 所指的 data.frame query
的元素。
也许像
... + scale_x_datetime(data=input, limits=c(min(rangeDate), max(rangeDate))
会起作用。
编辑:
或者,将您的变量 rangeDate
放入您在 ggplot()
中使用的 data.frame 中。
正如 aosmith 所说,
You can't omit the upper limit, but you can use NA for one of the limits that you want automatically calculated. See the help page for ggplot2::ylim
谢谢!
我有一个每 5 分钟读取一次值的数据库。为了显示数据,我有一个闪亮的应用程序,每次连接到它时都会绘制它。我最近添加了一个 daterangeinput,以便 select 要绘制的数据。
问题出在我绘制同一天的数据时。使用 scale_x_datetime(limits)
时显示很小(因为它表示直到同一天晚上,尽管数据尚不存在)。这是一个例子:
我不介意下限,因为它们将永远存在。我想设置下限并让上限自由(最后一个值出现在绘图的右边界)。
我尝试将第二个限制设置为 NULL
或者甚至不设置它,但它会引发错误。
代码如下:
ggplot(query, aes(x=DateTime, y=Freq, group=1)) +
geom_line() +
labs(x="Time", y="Freq") +
ggtitle("PLOT") +
scale_y_continuous(breaks= pretty_breaks()) +
scale_x_datetime(limits = as.POSIXct(input$rangeDate))
数据框 query
看起来像这样,例如:
DateTime Freq
1 2015-09-11 09:22:57 10
2 2015-09-11 09:27:57 10
3 2015-09-11 09:32:57 11
也许解决方案可以通过其他方式实现。我将非常感谢您的评论和回答。
谢谢
limits
需要长度为 2 的向量才能工作,因此忽略上限将不起作用。
另外,正如我所见, rangeDate
不是 ggplot 所指的 data.frame query
的元素。
也许像
... + scale_x_datetime(data=input, limits=c(min(rangeDate), max(rangeDate))
会起作用。
编辑:
或者,将您的变量 rangeDate
放入您在 ggplot()
中使用的 data.frame 中。
正如 aosmith 所说,
You can't omit the upper limit, but you can use NA for one of the limits that you want automatically calculated. See the help page for ggplot2::ylim
谢谢!