我在网上看到了这张照片,只是想知道如何在R中绘制它。这是我的代码:
article <- data.frame(x = as.Date(round(runif(1000), 2) * 100, origin = '2017-01-01'), y = sample(letters[1:10], 1000, T))
plot(article$x, article$y, pch = 19, col = article$y, xlab = 'date', ylab = 'account', yaxt = 'n') + grid(nx = 10, ny = 10, lty = 1, col = 'grey')
axis(2, at = 1:10, label = levels(article$y))
我得到了这样的照片。仍然存在一个问题:y轴上的网格线与轴标签不对应。那么如何解决这个问题,还是有一种更直接的方法来绘制情节?
答案 0 :(得分:1)
我不知道如何修正grid()
的参数,以便提供所需的内容,但是您可以使用plot()
绘制空白图,使用abline()
绘制空白网格,然后使用points()
在其上绘制数据。
因此,使用您的数据
plot(article$x, article$y, type="n", xlab = 'date', ylab = 'account', yaxt = 'n', xaxt = 'n')
abline(h=1:10, v=pretty(article$x), col="grey")
points(article$x, article$y, pch = 19, col = article$y)
axis(2, at = 1:10, label = levels(article$y))
axis(1, at = pretty(article$x), label = format(pretty(article$x), "%b"))
或者只是在执行操作时绘制数据,然后使用abline()
绘制网格,但是这样做时,网格将绘制在数据点的顶部。
答案 1 :(得分:0)