2015-07-22 15 views
11

Tôi đang sử dụng mã dưới đây để tạo ra một biểu đồ đơn giản với một số chú thích:Sử dụng các kiểu phông chữ khác nhau trong chú thích (ggplot2)

require(ggplot2); data(mtcars) 
ggplot(mtcars, aes(x = wt, y = mpg)) + 
    geom_point() + 
    annotate("text", x = 4, y = 25, label = "This should be bold\nand this not", 
      colour = "red") + 
    geom_vline(xintercept = 3.2, colour = "red") 

Simple plot

Trên biểu đồ mà tôi muốn nộp đơn xin đậm phông chữ đến phần đầu tiên của cụm từ trong chú thích văn bản:

này nên được in đậm

nhưng tôi muốn phần còn lại của văn bản vẫn không thay đổi về mặt và kiểu phông chữ.

+0

có lẽ bạn nên tách nó thành hai cuộc gọi, và thêm fontface = "bold" vào một – jeremycg

Trả lời

9

Làm thế nào về việc sử dụng plotmath cú pháp với parse = TRUE:

ggplot(mtcars, aes(x = wt, y = mpg)) + 
    geom_point() + 
    annotate("text", x = 4, y = 25, 
      label = 'atop(bold("This should be bold"),"this should not")', 
      colour = "red", parse = TRUE) + 
    geom_vline(xintercept = 3.2, colour = "red") 

enter image description here

+0

Làm thế nào để ma nage một tình huống mà tôi có ba dòng văn bản, đầu tiên với một ngày nên được in đậm và hai dòng bên dưới nó nên được in với một phông chữ chuẩn. – Konrad

+1

@Konrad Mặc dù có thể phụ thuộc vào tất cả thông tin này mà tôi muốn thêm vào cốt truyện, tôi có thể đặt mỗi hàng một hàng trong một data.frame hoặc một cái gì đó và sử dụng 'tableGrob' và' annotation_custom' để đặt nó trên đồ họa nơi tôi muốn. – aosmith

+0

giống như một gợi ý hợp lệ, cảm ơn – Konrad

10

Nếu bạn không có một vấn đề với việc tách nó lên trong hai chú thích, bạn chỉ có thể làm:

annotate("text", x = 4, y = 25, label = "This should be bold", 
     colour = "red", fontface =2)+ 
annotate("text", x = 4, y = 24, label = "and this not", 
     colour = "red") 
Các vấn đề liên quan