2013-03-14 50 views
6

Tôi đã tạo một âm mưu cổ điển đơn giản với ggplot2 là hai biểu đồ trong một. Tuy nhiên, tôi đang đấu tranh để thể hiện huyền thoại. Nó không hiển thị huyền thoại. Tôi đã không sử dụng cách tan chảy và định hình lại, tôi chỉ sử dụng cách cổ điển. Dưới đây là mã của tôi.ggplot2: cách hiển thị chú thích

df<-read.csv("testDataFrame.csv") 
graph<- ggplot(df,aes(A)) + 

geom_line(aes(y=res1), colour = "1")+ 
geom_point(aes(y=res1),size = 5,shape=12)+ 

geom_line(aes(y=res2), colour = "2")+ 
geom_point(aes(y=res2), size = 5, ,shape=20)+ 

scale_colour_manual(values=c("red","green"))+ 
scale_x_discrete (name="X axis")+ 
scale_y_continuous(name="Y-axis")+ 
ggtitle("Test")+ 
#scale_shape_discrete(name ="results",labels=c("Res1", "Res2"),solid = TRUE) 
print(graph) 

khung dữ liệu là:

A,res1,res2 
1,11,25 
2,29,40 
3,40,42 
4,50,51 
5,66,61 
6,75,69 
7,85,75 

Bất kỳ gợi ý về cách để hiển thị các chú giải cho biểu đồ trên?

Trả lời

6

Trong ggplot2, truyền thuyết được hiển thị cho mọi thẩm mỹ (aes) mà bạn đã đặt; chẳng hạn như group, colour, shape. Và để làm được điều đó, bạn sẽ có để có được dữ liệu của bạn trong các hình thức:

A variable value 
1  res1 11 
... ... ... 
6  res1 85 
7  res2 75 

Bạn có thể thực hiện điều này với reshape2 sử dụng melt (như hình dưới đây):

require(reshape2) 
require(ggplot2) 

ggplot(dat = melt(df, id.var="A"), aes(x=A, y=value)) + 
     geom_line(aes(colour=variable, group=variable)) + 
     geom_point(aes(colour=variable, shape=variable, group=variable), size=4) 

Ví dụ, nếu bạn không muốn colour cho điểm, sau đó chỉ cần xóa colour=variable từ geom_point(aes(.)). Để biết thêm các tùy chọn chú giải, hãy theo dõi this link.

enter image description here

+0

cảm ơn. Làm cách nào để thay đổi tên của biến màu. Thay vì hiển thị biến cho chú giải, tôi có thể đổi tên chẳng hạn như Kết quả. Có cách nào không ?. Với hình dạng tôi chỉ cần loại bỏ màu sắc và đã sử dụng scale_shape_discrete (name = "Kết quả", nhãn = c ("Res1", "Res1"), rắn = TRUE) và nó hoạt động. Bạn không chắc chắn làm thế nào để thay đổi nó với màu sắc? – SimpleNEasy

+0

Cách trực tiếp/đơn giản là lưu dữ liệu đã được đun nóng thành một biến như: 'df.m <- melt (df, id.var =" A ")'. Bây giờ, thay đổi tên cột 'df.m' thành bất kỳ tên nào bạn muốn. – Arun

+0

Hoàn hảo. Cảm ơn bạn – SimpleNEasy

Các vấn đề liên quan