Sunday, October 4, 2015

Biểu đồ bong bóng (bubble graph)

Biểu đồ bong bóng là một dạng biểu đồ tương quan, nhưng thay vì dùng "dot" (dấu chấm) thì được thay thế bằng hình bong bóng. Nhưng kích thước của bong bóng có thể phụ thuộc vào một biến thứ 3. Do đó, biểu đồ bong bóng rất có ích để chúng ta xem xét phân bố của dữ liệu. Bài này sẽ trình bày cách vẽ biểu đồ bong bóng bằng ggplot2.


Dữ liệu sau đây liên quan đến tỉ lệ tội phạm ở các bang bên Mĩ. Mục tiêu là tìm hiểu mối tương quan giữa tỉ lệ án giết người và tỉ lệ trộm cắp. Nhưng vì các bang khác nhau về dân số, nên chúng ta muốn cho trọng số bằng số dân của mỗi bang.

Trước hết đọc dữ liệu vào R (trực tuyến):

crime = read.csv("http://datasets.flowingdata.com/crimeRatesByState2005.tsv", header=T, sep="\t")

head(crime)

> head(crime)
        state murder Forcible_rate Robbery aggravated_assult burglary larceny_theft
1    Alabama     8.2          34.3   141.4             247.8    953.8        2650.0
2     Alaska     4.8          81.1    80.9             465.1    622.5        2599.1
3    Arizona     7.5          33.8   144.4             327.4    948.4        2965.2
4    Arkansas    6.7          42.9    91.1             386.8   1084.6        2711.2
5 California     6.9          26.0   176.1             317.3    693.3        1916.5
6   Colorado     3.7          43.4    84.6             264.7    744.8        2735.2


Bắt đầu vẽ:

library(ggplot2)

p = ggplot(data=crime, aes(x=murder, y=burglary, size=population, label=state), guide=F)

p = p + geom_point(color="white", fill="red", shape=21) + scale_size_area(max_size=15)

p = p + scale_x_continuous(name="Murder per 1000 population", limits=c(0,12)) + scale_y_continuous(name="Burglaries per 100 population", limits=c(0,1250)) + geom_text(size=2.5) + theme_bw()

p

và kết quả là:



No comments:

Post a Comment