使用R绘制一个堆叠条形图,但图例不显示,使用GridDB作为数据库

jvlzgdj9  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(180)

我写了一个R函数从GridDB中读取数据,然后绘制一个堆叠的条形图,从GridDB中阅读数据后,我将其存储在一个“tibble”中(不是完全成熟的 Dataframe ,tibble是一种简单的数据结构,可以很容易地馈送到POST Web API)。当我绘制堆叠条形图时,条形可见,但图例不可见。我使用了许多变体,但图例仍然不可见,即使在清楚地将args.legend参数指定给barplot()函数之后。附加了堆叠条形图图像。虚拟数据在这里以CSV格式显示-https://docs.google.com/spreadsheets/d/1u73_f7VJms0dv1-Qk_ScswB6vUPPNWeSp3xpeLfASgU/edit?usp=sharing
下面是我的代码中的相关片段。
..... #使用GridDb的web API返回相关数据qr 1〈- GET(url = my_query_url,add_headers(“Content-Type”=“application/json;charset=UTF-8”),
config = authenticate(“my_user_name”,“mypass”),body = query_request_body)#将返回的数据复制到R tibble中
my_global_health__data〈- qr1
#绘制条形图(matrix(c(my_global_health__data$Percent,my_global_health__data$otherCol),nrow=2,ncol=20,byrow=TRUE),main=“死因,按传染病分类
和孕产妇、产前和营养状况”,names.arg = my_global_health_data$CountryCode,xlab=“CountryName”,ylab=“占总数的百分比”,col=c(“blue”,“red”),
args.legend=“bottomright”)

print("EOP, R and GridDB") 
#`

................. `
你能给予我一些关于我做错了什么的想法吗?或者只是发布一个对你有用的条形图()函数,它也显示了图例。
x1c 0d1x感谢Pratik
使用了R语言的条形图函数,但图例不可见。参数args.legend似乎对我不起作用。barplot(H,xlab,ylab,main,names.arg,col,args.legend)

64jmpszr

64jmpszr1#

因为你没有直接提供数据,我只是创建了一些虚拟数据。我使用ggplot 2,在将数据整形为长格式后,没有任何问题。

library(tidyverse)
library(googlesheets4)

set.seed(123)

name <- c("A", "B", "C", "D")
cause1 <- sample(55:98, 4)
cause2 <- sample(55:98, 4)

df <- tibble(name, cause1, cause2)

df %>%
  pivot_longer(cols = 2:3, names_to = "cause", values_to = "perc") %>%
  ggplot(aes(x=name, y=perc, fill=cause))+
  geom_col()

创建于2023-04-17带有reprex v2.0.2

相关问题