簡體   English   中英

ggplot2中的動態圖例標簽

[英]Dynamic legend labels in ggplot2

我定義了一個用於存儲圖例標簽的數據結構,如下所示(因為我想生成具有不同數據和連續不同標簽的多重圖)。

legendlabels <- data.frame(
                    'stadtland'=c("Core City\n(Agglomeration)","Municipality\n(Agglomeration)", "Isolated City", "Rural\nMunicipality"),
                    stringsAsFactors=FALSE)

現在,當我像這樣在ggplot使用legendlabels時,

... + 
scale_colour_hue(name="Type",
                     breaks=as.factor(c(1:4)),
                     labels=legendlabels['stadtland'],
                     l=65) +
...

圖例僅顯示4個不同標簽的“ 1”,“ 2”,“ 3”,“ 4”。 但是,當我直接(不動態地)插入向量時,字符串將正確顯示:

... + 
scale_colour_hue(name="Type",
                     breaks=as.factor(c(1:4)),
                     labels=c("Core City\n(Agglomeration)","Municipality\n(Agglomeration)", "Isolated City", "Rural\nMunicipality"),
                     l=65) +
...

我該如何替代呢?

正如我在評論中提到的那樣,

labels=legendlabels['stadtland']

將返回長度為1的列表,而不是您要查找的原子向量。 相反,您想使用[[

labels=legendlabels[['stadtland']]

它從列表(數據框為列表) legendlabels返回名為stadtland元素

暫無
暫無

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

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