我正在尝试使用ggplot2生成我使用ggplot2创建的绘图的交互式版本,并希望维护图例标签。该图是每年特定社区收入分配的条形图,为期6年。
我的ggplot scale_fill_manual()标签参数是:
BULK COLLECT INTO r1
当我运行 scale_fill_manual(values = values,
labels = c("< 10,000",
"10,000 to 14,999",
"15,000 to 24,999",
"25,000 to 34,999",
"35,000 to 49,999",
"50,000 to 74,999",
"75,000 to 99,999",
"100,000 to 149,999"))
时,我的标签会更改为我按照预期在数据集中对数据进行分组的标签。例如,检查我的新图表的前12个标签会给出:
p <- ggplotly(p)
按照此处ggplotly - R, labeling trace names找到的示例, 我作为测试运行:
> p$Incomes[1:12]
[1] Households..Estimate..Less.than..10.000
[2] Households..Estimate..Less.than..10.000
[3] Households..Estimate..Less.than..10.000
[4] Households..Estimate..Less.than..10.000
[5] Households..Estimate..Less.than..10.000
[6] Households..Estimate..Less.than..10.000
[7] Households..Estimate...10.000.to..14.999
[8] Households..Estimate...10.000.to..14.999
[9] Households..Estimate...10.000.to..14.999
[10] Households..Estimate...10.000.to..14.999
[11] Households..Estimate...10.000.to..14.999
[12] Households..Estimate...10.000.to..14.999
错误:
p$Incomes[[1]] <- "< 10,000"
无论我使用Warning message:
In `[[<-.factor`(`*tmp*`, 1, value = c(NA, 9L, 9L, 9L, 9L, 9L, 17L, :
invalid factor level, NA generated
还是[]
,[[]]
还是as.factor
,我尝试更改存储值的任何内容都会引发某种错误。 as.integer
,我甚至尝试使用as.character
(这太可怕了)但仍然出错。
我为解决这个问题所做的各种努力都是徒劳无功的,并没有特别好的计划,因为我对这个问题几乎感到茫然。我很感激我可以手动编辑图例的任何方法。如果我需要重新格式化我的问题或提供更多信息,请告诉我。