R-将单元添加到Y轴上



我正在使用plotrix.twoord使用此代码在单个图中比较两个图:

library(plotrix)
mempool<-read.csv("mempool-size.csv")
mempool$date <- as.Date(mempool$date)
fees<-read.csv("transaction-fees.csv")
fees$date <- as.Date(fees$date)
twoord.plot(mempool$date,mempool$value,fees$date,fees$value,type="b",
            ylab="Unconfirmed transactions (B)",rylab="Fees paid per day (BTC)",
            main="Fees and mempool size since 2017",
            )

这是这样打印的图:

情节

这看起来几乎正确,但左轴看起来有些奇怪。我希望它在值之后显示单元(b( - 最好是用度量前缀而不是科学符号(20MB而不是2E07B(。

我不确定plotrix.twoord是否提供了这样的选项,因此我尝试使用ggplot:

ggplot() + 
  geom_line(data=fees, aes(x=date, y=value), color='black') + 
  geom_line(data=mempool, aes(x=date, y=value), color='red')

但是现在费用线只是平坦的,因为它没有自己的轴。

如果您想自己尝试,可以在这里找到数据:http://www.sharecsv.com/s/07076796191D9E414E5B50840D9ED7AD/mempool-size.csvhttp://www.sharecsv.com/s/72a183dd3ab0df781ecbfee819999548/transaction-fees.csv

plotrix似乎不支持自我提供tick标记标签,有几种方式。

1(最简单的方法是将左轴值除以10^6

mempool$value <- mempool$value / 1000000
twoord.plot(mempool$date,mempool$value,fees$date,fees$value,type="b",
            ylab="Unconfirmed transactions (MB)",rylab="Fees paid per day (BTC)",
            main="Fees and mempool size since 2017",
            )

2(您可以使用base r不用plotrix,例如

plot(mempool$date,mempool$value, type='b',ylab="Unconfirmed transactions", yaxt='n',xlab='Date')
axis(2, c('0MB', '20MB', '40MB', '60MB', '80MB', '100MB', '120MB', '140MB'), at=seq(0, 140*10^6, length.out=8))
par(new=TRUE)
plot(fees$date,fees$value,type="b",col="red",xaxt="n",yaxt="n",xlab="", ylab='')
axis(4)
mtext("Fees paid",side=4,line=3)

3(您可以破解两个dord函数以删除其中一个轴,然后将其添加类似于上面的选项2(。有关此的详细信息,请参阅twoord.plot中的日期(删除轴3(

的处理轴。

相关内容

  • 没有找到相关文章

最新更新