背景
4年一届的奥运会又过去了,让我们用数据看看中国在2016年里约奥运会取得的成绩吧。
可视化
这一张是用R语言中的treemap包绘制了中国金牌的分布情况,矩形的面积反映项目的总金牌数,比如田径作为奥运第一大项,所占金牌最多。中国在每个项目中获得的金牌数用颜色的深浅来表示,比如跳水、举重、乒乓球等中国所获金牌比较多,而在有些项目上则没有收获金牌。
这一张图是用R语言绘制的层次聚类,主要是用了金牌数、银牌数和铜牌数,从图中可以看出,在10个簇中,中国处于第二阵营,与英国、俄罗斯取得的成绩相近。
当然,这点数据并不能代表中国健儿的全部,全当娱乐啦~
代码
代码和数据集都在这里
library(treemap)
library(stringr)
library(dplyr)
data <- read.csv("d:/R/ch.csv", header = T, sep = ",")
treemap(data,
index = c("sports"),
vSize = "gold",
vColor = "china",
type = "value",
title = '中国金牌分布',
fontsize.labels = 15,
lowerbound.cex.labels = 0,
palette = "RdYlGn")
rio <- read.csv("d:/R/rio.csv", header = T, sep = ",")
rio$country <- str_replace_all(rio$country, "[?]", "")
rio_selected <- select(rio, gold, silver, bronze)
d <- dist(rio_selected, method = "euclidean")
pfit <- hclust(d, method = "ward.D")
plot(pfit, labels = rio$country)
rect.hclust(pfit, k = 10)