2012-04-03 45 views
10

Tôi không thể thay đổi phông chữ trong lôgic direct.label (từ gói directlabels) ggplot2. Xem dưới đây cho một ví dụ tái sản xuất - không có vấn đề gì trong việc xoay các nhãn 45 độ, làm cho chúng đậm, trong suốt và 50% trong suốt (tất cả các đối số khác trong danh sách ở cuối mã bên dưới) - nhưng tôi không thể kiểm soát phông chữ. (Tôi thực sự không muốn chúng là 25, đây chỉ là để thử nghiệm ....)Làm thế nào để thay đổi phông chữ trong direct.label?

Có điều gì tôi thiếu hoặc đây có phải là lỗi không?

library(ggplot2) 
library(scales) 
library(directlabels) 
df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters) 
p <- ggplot(df, aes(x, y, color=let)) + geom_point() 
direct.label(p, 
    list("top.points", rot=45, fontsize=25, 
     fontface="bold", fontfamily="serif", alpha=0.5)) 

Trả lời

11

I figured it out, bạn sử dụng cex để thay đổi kích thước font chữ.

df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters) 
p <- ggplot(df, aes(x, y, color=let)) + geom_point() 
direct.label(p, 
    list("top.points", rot=45, cex=6, 
      fontface="bold", fontfamily="serif", alpha=0.5)) 

Điều đó sẽ cung cấp cho bạn, jjj

3

Đó là loại tuyến đường khác, nhưng bạn có cân nhắc thực hiện tất cả trong ggplot2 không?

ggplot(df, aes(x, y, color=let)) + 
     geom_point() + 
     geom_text(df, mapping=aes(x, y, label=let, colour=let), 
     size=5, vjust=-.55, hjust=.55, angle = 45, fontface="bold", 
     family ="serif", alpha=0.5) + opts(legend.position = "none") 

này sẽ cung cấp cho bạn điều này, và bạn có thể điều chỉnh fontsize sử dụng size enter image description here

+0

cảm ơn, không xấu với dữ liệu này và +1 cho một cái gì đó tôi có lẽ sẽ sử dụng, nhưng tôi muốn các chức năng direct.labels để nhãn không trên đầu trang của eachother cho các điểm gần nhau (dữ liệu thực của tôi có nhãn dài hơn). –

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