如何在ggplot2中更改散点图的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ggplot2中更改散点图的颜色相关的知识,希望对你有一定的参考价值。

在ggplot2中,如何更改散点图中的着色颜色?

答案

这是一个小数据集:

dat <- data.frame(x=1:20,
                  y=rnorm(20,0,10),
                  v=20:1)

假设我希望我的点使用值v着色。我可以使用scale_colour_gradient()函数更改着色的执行方式。

library(ggplot2)
qplot(x,y,data=dat,colour=color,size=4) + 
  scale_colour_gradient(low="black", high="white")

alt text

这个例子应该让你开始。有关更多信息,请查看其他帖子中提到的scale_brewer()

另一答案

查看scale_brewer http://www.had.co.nz/ggplot2/scale_brewer.html的ggplot文档

一些例子:

#see available pallets:

library(RColorBrewer)
display.brewer.all(5)

#scatter plot
dsamp <- diamonds[sample(nrow(diamonds), 1000), ] 
d <- qplot(carat, price, data=dsamp, colour=clarity)
dev.new()
d
dev.new()
d + scale_colour_brewer(palette="Set1")
dev.new()
d + scale_colour_brewer(palette="Blues")
另一答案

如果您的数据具有您想要着色的离散类别,那么您的任务会更容易一些。例如,如果您的数据看起来像这样,每行代表一个事务,

> d <- data.frame(customer = sample(letters[1:5], size = 20, replace = TRUE),
>                sales = rnorm(20, 8000, 2000),
>                profit = rnorm(20, 40, 15))
> head(d,6)
customer    sales   profit
        a 8414.617 15.33714
        a 8759.878 61.54778
        e 8737.289 56.85504
        d 9516.348 24.60046
        c 8693.642 67.23576
        e 7291.325 26.12234

并且您想要制作由客户着色的交易的散点图,然后您可以执行此操作

p <- ggplot(d, aes(sales,profit))
p + geom_point(aes(colour = customer))

要得到....

以上是关于如何在ggplot2中更改散点图的颜色的主要内容,如果未能解决你的问题,请参考以下文章

ggplot2中散点图的图例(无颜色)

我们如何根据颜色标记散点图的图例

Matplotlib 散点图和颜色图的问题

带有 ggplot2 的散点图按 r 中的特定日期间隔着色

R语言ggplot2可视化为散点图的数据点填充色彩并在点周围设置边框(border around points)

OpenOffice Calc 自动化如何更改散点图的图表标签