簡體   English   中英

使用gap.barplot未固定為零的柱

[英]Bars not anchored at zero using gap.barplot

我正在使用plotrix的gap.barplot()函數,當一些值非常小時我遇到了問題。 從以下數據框開始:

test.df <- data.frame(
perc = c(2.5,7.5,12.5,17.5,22.5,27.5,32.5,37.5,42.5,47.5,52.5,57.5,62.5,67.5,72.5,77.5,82.5,87.5,92.5,97.5), 
count = c(143649,30872,17444,11333,7513,5257,3677,2795,1976,1530,1022,916,862,985,808,339,59,2,1,1)
)

如果我創建一個有缺口的條形圖如下:

library(plotrix)
gap.barplot(test.df$count, gap=c(38000,136000), xaxlab=test.df$perc, xtics=test.df$perc, ytics=c(0:30)*5000, col="white", las=1)

看起來很好看。

在此輸入圖像描述

但是,如果我嘗試將“count”值除以1000,請使用以下代碼:

gap.barplot(test.df$count/1000, gap=c(38,136), xaxlab=test.df$perc, xtics=test.df$perc, ytics=c(0:30)*5, col="white", las=1)

條形不固定為0。

在此輸入圖像描述

所有大於3000的“計數”值(或新標度上的3)都向下指向,即使它們大於零。 由於某種原因,酒吧被固定在3而不是0.有誰知道為什么會發生這種情況以及我能做些什么來解決它?

我只是調查了一下。 看起來問題已在新版本的軟件包中得到修復。 當我使用devtools pacakge中的以下命令安裝plotrix時,我能夠生成正確的繪圖。

install_github("cran/plotrix")

在此輸入圖像描述

看起來好像在代碼更新之前使用以下代碼設置了底部水平切割:

botgap <- ifelse(gap[1] < 0, gap[1], xlim[1])

最近更新為以下內容:

botgap<-ylim[1]

在你的例子中,我看到包計算botgap = 2.5(所以低於2.5的所有值都出現在負條上)但是你希望它為0.我沒有看到在先前版本中覆蓋botgap值的方法包,所以你可能想要抓住更新的版本,如果可能的話。 另一種選擇是使用正確的代碼創建一個由您定義的新函數。

如果你想查一下,你可以使用plotrix :: gap.barplot R中控制台看到你下載的功能和代碼比較新的版本在github 這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM