我有一个散点图。我想按频率调整每个点的大小。所以我有一个相同长度的频率列。但是,如果我这样做:
... + geom_point(size=Freq)
我收到此错误:
When _setting_ aesthetics, they may only take one value. Problems: size
我解释为所有点只能有1个大小。那我怎么做我想要的呢?
更新:数据为here 我使用的基本代码是:
dcount=read.csv(file="New_data.csv",header=T)
ggplot(dcount,aes(x=Time,y=Counts)) + geom_point(aes(size=Freq))
答案 0 :(得分:3)
你试过..
+ geom_point(aes(size = Freq))
对于具有mapped
函数的数据中的变量,美学是aes
。查看http://had.co.nz/ggplot2/geom_point.html
答案 1 :(得分:2)
scale_size_manual()
指定类别。
sizes <- unique(dcount$Freq)
names(sizes) <- as.character(unique(dcount$Freq))
ggplot(dcount,aes(x=Time,y=Counts)) + geom_point(aes(size=as.factor(Freq))) + scale_size_manual(values = sizes/2)
答案 2 :(得分:1)
如果代码gd047提供的内容不起作用,我会仔细检查您的Freq
列是否实际调用Freq
,并且您的工作区没有其他名为{{1}的对象}。除此之外,代码应该工作。你怎么知道音阶与频率无关?