首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用r中的符号()命令更新散点图后添加图例

如何在使用r中的符号()命令更新散点图后添加图例
EN

Stack Overflow用户
提问于 2018-05-07 06:21:23
回答 2查看 144关注 0票数 0

我使用以下数据在R中创建了一个气泡图/散点图:

设置

和下列守则:

代码语言:javascript
复制
my_data_set <- read.csv("c:/Users/Person/Desktop/my_data_set.csv")

View(my_data_set)

plot(my_data_set$Analysis_Vs_Presentation, my_data_set$Flexibility)

IScolors <- c("#e6f598", "#66c2a5")

TypeLevels <- as.numeric(my_data_set$Type)

symbols(my_data_set$Analysis_Vs_Presentation, my_data_set$Flexibility, circles=sqrt(my_data_set$Easiness), inches=0.8, bg = IScolors[TypeLevels], fg="black", xlab="Presentation", ylab="Flexibility", main="Comparison of 5 Data Analytics Tools", xlim=c(0, 11), ylim=c(0, 11))

text(my_data_set$Analysis_Vs_Presentation, my_data_set$Flexibility, my_data_set$Tool, cex=1)

这给了我一个气泡图散点图,不同大小的气泡取决于容易程度,气泡颜色取决于类型的值。

我想加入一个传说来说明泡沫的颜色。我试过用这个:

代码语言:javascript
复制
legend("bottomright", legend=my_data_set$Type, col=IScolors, cex=0.75)

它在右下角显示了一个图例,但是它只列出了Type属性的5个值。

我如何要求它显示一些内容,列出Type属性的两个不同的值,以及图表中使用的相关颜色?

更新: Chris --在我尝试了您的建议之后,我看到了一个图例,但它显示了所有5个值,而不仅仅是两个不同的值:

添加传奇情节的截图

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-08 21:44:40

好的,我已经费尽心思重新创建您的代码,看看它是如何工作的。这是解决办法--很简单,如果你想要的只是这两种颜色,对吧?这实际上是您的代码;更改后的位如下所示:

代码语言:javascript
复制
df <- data.frame(
  Tool = c("R", "GGPlot2", "Tableau", "D3", "Excel"),
  Flex = c(6,8,7,10,2),
  Type = c("static", "static", "interactive", "interactive", "static"),
  Easi = c(6,5,10,1,7),
  Ana_v_Pres = c(1,2,5,10,3)
)
View(df)

plot(df$Ana_v_Pres, df$Flex)
IScolors <- c("#e6f598", "#66c2a5")
TypeLevels <- as.numeric(df$Type)
symbols(df$Ana_v_Pres, df$Flex, circles=sqrt(df$Easi), inches=0.8, 
    bg = IScolors[TypeLevels], fg="black", xlab="Presentation", 
    ylab="Flexibility", main="Comparison of 5 Data Analytics Tools", 
    xlim=c(0, 11), ylim=c(0, 11))

text(df$Ana_v_Pres, df$Flex, df$Tool, cex=1)

现在进行更改:只需定义图例键中显示的两个标签,并将colfill参数分配给它:

代码语言:javascript
复制
legend("bottomright", c("static", "interactive"), col=IScolors, fill=IScolors, cex=0.75)
票数 0
EN

Stack Overflow用户

发布于 2018-05-08 04:38:49

有一点很难回答,因为你没有提供数据来重现图表。但是,您可能需要尝试使用fill参数。例如:

代码语言:javascript
复制
legend("bottomright", legend=my_data_set$Type, fill=IScolors, cex=0.75)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50208122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档