# import library
library(ggplot2) # 导入包,下面要用

# read data
df <- mlba::WestRoxbury # 导入数据集WestRoxbury,给数据集起一个自己的名字df,可以是其它任何
View(df) # 查看数据集

# 总共需要画四种图
# 第一种:
# boxplot
boxplot(df$TOTAL.VALUE, ylab="TOTAL.VALUE") # 对df数据集中的TOTAL.VALUE作图,模仿的网址https://rpubs.com/gokul108/visualization上的第一幅图

# 对df数据集绘制第二种图
# histogram
ggplot(df) + geom_histogram(aes(x=TOTAL.VALUE), bins=9) + ylab("Cout") # x=TOTAL.VALUE这是选用的x轴的变量,ylab("Cout")给y轴命名

# 对df数据集绘制第三种图
# scatter plot
# df$符号是取这个数据集种的那种数据,比如TOTAL.VALUE和LOT.SQFT
plot(df$TOTAL.VALUE~df$LOT.SQFT, xlab="LOT.SQFT", ylab="TOTAL.VALUE") # ~符号左边是y轴变量,~符号右边是x轴变量,xlab和ylab是给x轴和y轴取名字,随便取

# 对df数据集绘制第四种图
# bar chart
# aggregate()函数的作用百度一下
mydata <- aggregate(df$TOTAL.VALUE, by=list(df$BEDROOMS), FUN=mean)
str(mydata) # 这个查看一下新数据mydata(随便取名)的各列索引,下一行代码要用。运行后可以看到数据是9行,2列,第一列的索引(列名)是Group.1,第二列的索引(列名)是x。
## 'data.frame':    9 obs. of  2 variables:
##  $ Group.1: int  1 2 3 4 5 6 7 8 9
##  $ x      : num  274 318 375 443 523 ...
# x=Group.1把第一列索引Group.1赋给图的x轴,第二列的索引x给图的y轴,label改成第二列索引x,xlab("bedrooms") + ylab("Average TAX")这是在给x轴和y轴取名字
ggplot(mydata, aes(x=Group.1, y=x, fill=Group.1)) + geom_bar(stat="identity") + geom_text(aes(label = x), vjust = -0.5) +  xlab("bedrooms") + ylab("Average TAX")

# 最后发布作业,变成一个网站