theme
# mặc định nền xámqplot(rating, data = movies, binwidth = 1)
# chuyển sang nền trắnglast_plot() + theme_bw()
# theme tác động tới đồ thị lúc hiển thị, # không phải lúc khởi tạohgram <- qplot(rating, data = movies, binwidth = 1)hgram
previous_theme <- theme_set(theme_bw())hgram
# ghi đè themehgram + previous_theme
# ghi đè vĩnh viễntheme_set(previous_theme)
# Thay đổi tiêu đềhgramt <- hgram + labs(title = "This is a histogram")hgramt
# Đổi định dạng tiêu đềhgramt + theme(plot.title = element_text(size = 20))
hgramt + theme(plot.title = element_text(size = 20, colour = "red"))
hgramt + theme(plot.title = element_text(size = 20, hjust = 0))
hgramt + theme(plot.title = element_text(size = 20, face = "bold"))
hgramt + theme(plot.title = element_text(size = 20, angle = 180))
# Đổi đường nền và các trụchgram + theme(panel.grid.major = element_line(colour = "red"))
hgram + theme(panel.grid.major = element_line(size = 2))
hgram + theme(panel.grid.major = element_line(linetype = "dotted"))
hgram + theme(axis.line = element_line())
hgram + theme(axis.line = element_line(colour = "red"))
hgram + theme(axis.line = element_line(size = 0.5, linetype = "dashed"))
# Đổi màu nềnhgram + theme(plot.background = element_rect(fill = "grey80", colour = NA))
hgram + theme(plot.background = element_rect(size = 2))
hgram + theme(plot.background = element_rect(colour = "red"))
hgram + theme(panel.background = element_rect())
hgram + theme(panel.background = element_rect(colour = NA))
hgram + theme(panel.background = element_rect(linetype = "dotted"))
# Xóa lần lượt các thuộc tính phi dữ liệuhgramt
last_plot() + theme(panel.grid.minor = element_blank())
last_plot() + theme(panel.grid.major = element_blank())
last_plot() + theme(panel.background = element_blank())
last_plot() + theme(axis.title.x = element_blank(), axis.title.y = element_blank())
last_plot() + theme(axis.line = element_line())
# Đổi theme mặc địnhold_theme <- theme_update( plot.background = element_rect(fill = "#3366FF"), panel.background = element_rect(fill = "#003DF5"), axis.text.x = element_text(colour = "#CCFF33"), axis.text.y = element_text(colour = "#CCFF33", hjust = 1), axis.title.x = element_text(colour = "#CCFF33", face = "bold"), axis.title.y = element_text(colour = "#CCFF33", face = "bold", angle = 90))# Kết quả đổi themeqplot(cut, data = diamonds, geom="bar")
qplot(cty, hwy, data = mpg)
## Error: ggplot2 doesn't know how to deal with data of class numeric
# Đặt lại themetheme_set(old_theme)# Kết quả đặt lạiqplot(cut, data = diamonds, geom="bar")
scales
geoms
scale
# Thay đổi scale mặc định bằng cách gán hàmscale_colour_discrete <- scale_colour_greyscale_fill_discrete <- scale_fill_greyscale_colour_continuous <- function(...) scale_colour_gradient(low = "white", high = "black")scale_fill_continuos <- function(...) scale_fill_gradient(low = "white", high = "black")
geom
stat
update_geom_defaults("point", aes(colour = "darkblue"))qplot(mpg, wt, data=mtcars)
update_stat_defaults("bin", aes(y = ..density..))qplot(rating, data = movies, geom = "histogram", binwidth = 1)
# Lưu 1 biểu đồqplot(mpg, wt, data = mtcars)ggsave(file = "output.pdf") #Trường hợp lưu nhiều đồ thị vào 1 tệppdf(file = "output.pdf", width = 6, height = 6)qplot(mpg, wt, data = mtcars)qplot(wt, mpg, data = mtcars)dev.off()
# 3 biểu đồ mẫu(a <- qplot(date, unemploy, data = economics, geom = "line"))(b <- qplot(uempmed, unemploy, data = economics) + geom_smooth(se = F))(c <- qplot(uempmed, unemploy, data = economics, geom="path"))
viewport()
# A viewport that takes up the entire plot devicelibrary(grid)vp1 <- viewport(width = 1, height = 1, x = 0.5, y = 0.5)vp1 <- viewport() # A viewport that takes up half the width and half the height, # located in the middle of the plot.vp2 <- viewport(width = 0.5, height = 0.5, x = 0.5, y = 0.5)vp2 <- viewport(width = 0.5, height = 0.5) # A viewport that is 2cm x 3cm located in the centervp3 <- viewport(width = unit(2, "cm"), height = unit(3, "cm")) # A viewport in the top rightvp4 <- viewport(x = 1, y = 1, just = c("right", "top" ))# Bottom leftvp5 <- viewport(x = 0, y = 0, just = c("right", "bottom"))
pdf("polishing-subplot-1.pdf", width = 4, height = 4)subvp <- viewport(width = 0.4, height = 0.4, x = 0.75, y = 0.35)bprint(c, vp = subvp)dev.off() # Sửa cho đẹpcsmall <- c + theme_gray(9) + labs(x = NULL, y = NULL) + theme(plot.margin = unit(rep(0, 4), "lines")) pdf("polishing-subplot-2.pdf", width = 4, height = 4)bprint(csmall, vp = subvp)dev.off()
pdf("polishing-layout.pdf", width = 8, height = 6)grid.newpage()pushViewport(viewport(layout = grid.layout(2, 2))) vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)print(a, vp = vplayout(1, 1:2))print(b, vp = vplayout(2, 1))print(c, vp = vplayout(2, 2))dev.off()
[trang chủ] [liên hệ] [code]