T
|
rong phạm vi bài này, mình mới biết
thêm và tập tành việc kết hợp package gggplot2 với package rvg and package
ggiraph để tạo nên những biểu đồ đẹp, bắt mắt và quan trọng hơn cả là logic,
khoa học hơn có thể. Như vậy, cho thấy ggplot2 có thể kết hợp với nhiều
packages khác giúp làm đẹp hơn cho các biểu đồ mà mình mong muốn. Hãy thử tập
tành chút với 04 packages (ggplot2, ggthemes, rvg and ggiraph) dưới đây. Tuy
nhiên, để cảm nhận được sự khác biệt khi kết hợp ggplot2 với các gói khác thì
việc dùng những cụm từ khó mà có thể diễn tả hết được. Vì vậy, nếu ai đó quan
tâm nên thử để cảm nhận sự khác biệt đó.
Ví dụ dưới đây mình sẽ nói cụ thể từng
layer ở mỗi packages khác nhau để kết hợp với gói ggplot 2 để vẽ biểu đồ. Như
các bài trước mình đã kết hợp các layer giữa ggplot2 với gridExtra, giữa ggplot2 với ggthemes, hoặc giữa ggplot2 với ggthemes và gridExtra... ở bài này là
sự hòa quyện giữa 04 packages để tạo nên một biểu đồ tương đối hoàn chỉnh. Xin
được dùng từ tương đối thôi, bởi ggplot2 có thể kết hợp nhiều hơn nữa các gói
khác để tạo nên những biểu đồ đẹp hơn, lung linh hơn và quan trọng hơn cả là
KHOA HỌC.
Dưới dây là các layer ở mỗi gói khác
nhau để kết hợp với ggplot2 là chủ đạo, cụ thể:
#data=rt2
#library (ggplot2)
#library (ggthemes)
#library (rvg)
#library (ggiraph)
#package (ggthemes)
# geom_rangeframe()+
theme_tufte()+scale_x_continuous(breaks=extended_range_breaks()(data$x))+scale_y_continuous(breaks=extended_range_breaks()(data$y))
#package (rvg)
#geom_point_interactive(aes(tooltip=...,
data_id=...), size=...)
#package (ggiraph)
ggiraph(code=print(datanew),
width=...)
Riêng việc kết hợp với ggiraph sẽ tạo
ra link biểu đồ ngay trong ổ C của máy tính cá nhân. Từ đó biểu đồ đó, ta di
chuột đến bất cứ điểm nào (dot) trên biểu đồ sẽ cho thông tin về điểm đó (trong
ví dụ là chỉ số đường kính, chiều cao, tiết diện ngang, trữ lượng, độ cao...).
Thực ra việc giải thích như vậy sẽ khó hình dung. Việc thử nghiệm, tập tành và
cảm nhận những dữ liệu, biểu đồ tạo ra mới là phương án tốt nhất. Hãy cùng thử
nghiệm và cảm nhận các biểu đồ qua sự kết hợp 04 packages nói trên.
> g1=ggplot(data=rt2, aes(x=diameter,y=tree_height,
color=age))+ theme_minimal()+ xlab("stump diameter, cm")+
ylab("tree height, m")+geom_rangeframe()+
theme_tufte()+scale_x_continuous(breaks=extended_range_breaks()(rt2$diameter))+scale_y_continuous(breaks=extended_range_breaks()(rt2$tree_height))
+ggtitle(“Figure 1”)
> gg=g1+geom_point_interactive(aes(tooltip=age,
data_id=age), size=2)
> ggiraph(code=print(gg),
width=0.7)
#result Figure 1
> g2=ggplot(data=rt2,
aes(x=del_diameter,y=del_tree_height,colour=age))+ theme_minimal()+
xlab("growth stump diameter, cm/year")+ ylab("growth tree
height, m/year")+geom_rangeframe()+
theme_tufte()+scale_x_continuous(breaks=extended_range_breaks()(rt2$del_diameter))+scale_y_continuous(breaks=extended_range_breaks()(rt2$del_tree_height))+ggtitle("Figure
2")
> gg2=g2+geom_point_interactive(aes(tooltip=age,
data_id=age), size=2.5)+ scale_colour_gradient(low="#999999",
high="#FF3333")
> ggiraph(code=print(gg2),
hover_css="fill-opacity:.3:cursor:pointer:")
#result Figure 2
> g3=ggplot(data=rt2, aes(x=g,y=m,
color=do_cao))+ theme_minimal()+ xlab("G, cm2")+ ylab("M,
m3")+geom_rangeframe()+
theme_tufte()+scale_x_continuous(breaks=extended_range_breaks()(rt2$g))+scale_y_continuous(breaks=extended_range_breaks()(rt2$m))+ggtitle("Figure
3")
> gg=g3+geom_point_interactive(aes(tooltip=do_cao,
data_id=do_cao), size=2)
> ggiraph(code=print(gg),
hover_css="fill-opacity:.3:cursor:pointer:")
#result Figure 3
==============================================================================
Tham khảo: http://docs.ggplot2.org
0 comments:
Post a Comment