0

私の質問が単純すぎるかばかげている場合はご容赦ください。R の作業を始めたばかりです。何度も検索して試しましたが、複数のラベルを持つことができません。これは私のコードがどのように見えるかです:

datato<-read.table("forS.txt",header=TRUE)

g<-ggplot(datato)

g+
geom_point(aes(x=Point1,y=Alphabets,size=D1),fill="cyan",shape=21)+
geom_point(aes(x=Point2,y=Alphabets,size=D2),fill="gold2",shape=21)+
geom_point(aes(x=Point3,y=Alphabets,size=D3),fill="lightpink4",shape=21)+
scale_size(range = c(0, 20),name="") + theme(axis.text.x = element_text(size =    15,face="bold"),axis.text.y = element_text(size = 15,face="bold"))+   
xlab("Numbers") + ylab("Alphabets Freq")+ggtitle("Bubble Chart")+
scale_x_continuous(limits = c(1, 15))+
scale_shape_manual(values=1:3, labels = c("DDD", "EEE", "FFF"))

私はD1をアルファベットなどに対してD2とD3でプロットしています。必要に応じて素敵なバブル プロットを取得します。しかし、最終的にlightpink4、右側のサイズのラベルを取得します。これはデフォルトであり、以前のラベルを上書きします。しかし、右側の D1 はシアン、D2 はゴールド 2、D3 はライトピンク 4 であることを示したいと思います。使い方がわかりません:scale_shape_manual

これを理解するのを手伝ってください。

 Alphabets  D1  D2  D3  Point1  Point2  Point3
A   0.094   0.073   0.11    1   2   3


B   0.019   0.08    0.09    1   2   3

C   0.086   0.059   0.05    1   2   3

D   0.03    0.021   0.09    1   2   3
4

1 に答える 1

1
  • データを長い形式に再形成します。それははるかに便利ですggplot2
  • あなたはcolour代わりに欲しいfill
  • あなたはscale_colour_manual代わりに欲しいscale_shape_manual

これはうまくいくはずです:

library(ggplot2)
library(reshape2)

dataset <- data.frame(
  Alphabets = runif(18), 
  D1 = runif(6), 
  D2 = runif(6), 
  D3 = runif(6)
)

molten <- melt(
  dataset, 
  id.vars = "Alphabets", 
  measure.vars = c("D1", "D2", "D3")
)


ggplot(molten, aes(x = variable, y = Alphabets, size = value, colour = variable)) +
  geom_point() +
  scale_colour_manual(values = c("D1" = "cyan", "D2" = "gold2", "D3" = "lightpink4"))

プロット

于 2014-03-23T23:50:56.913 に答える