《R数据可视化手册》——3.3 绘制频数条形图

简介:

本节书摘来异步社区《R数据可视化手册》一书中的第3章,第3.3节,作者:【美】Winston Chang,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.3 绘制频数条形图

问题
如果数据集中每行数据对应于一个样本,如何针对样本频数绘制条形图?

方法
使用geom_bar()函数,同时不要映射任何变量到y参数(见图3-7)。

ggplot(diamonds, aes(x=cut)) + geom_bar()
# 等价于使用geom_bar(stat="bin")

6edff7f87ce0454b4727c839ff42d670089d0ba8

讨论
diamonds数据集共有53 940行数据,每行数据对应于一颗钻石的品质信息:

diamonds

   carat cut color clarity depth table price  x  y  z
1   0.23   Ideal  E  SI2   61.5   55  326  3.95 3.98 2.43
2  0.21 Premium  E  SI1   59.8  61  326  3.89 3.84 2.31
3  0.23   Good  E  VS1   56.9  65  327  4.05 4.07 2.31
...
53539 0.86 Premium  H  SI2   61.0  58  2757  6.15 6.12 3.74
53540 0.75  Ideal  D  SI2   62.2  55  2757  5.83 5.87 3.64

geom_bar()函数在默认情况下将参数设定为stat="bin",该操作会自动计算每组(根据x轴上面的变量进行分组)变量对应的观测数。从图中可以看到,切工精美的钻石大概有23 000颗。

本例中,x轴对应的是离散型变量。当x轴对应于连续型变量时,我们会得到一张直方图,如图3-8所示。

ggplot(diamonds, aes(x=carat)) + geom_bar()```

<div style="text-align: center"><img src="https://yqfile.alicdn.com/1be6527f8297373314aa4e1cefed7806da5950db.png" width="" height="">
</div>

在这个例子中,使用geom_bar()和geom_histogram()具有相同的效果。

另见
如果不想让ggplot()函数自动计算每组数据的行数绘制频数条形图,而是想通过数据框中的某列来指定y参数的话,可以参见3.1节的内容。

当然,也可以通过先计算出每组数据的行数,再将计算结果传递给ggplot()函数来绘制上图。更多关于数据描述的内容,可参见15.17节。
相关文章
|
SQL 数据可视化 算法
数据可视化—绘制简单的折线图
在使用matplotlib绘制简单的折线图之前首先需要安装matplotlib,直接在pycharm终端pip install matplotlib即可
207 0
数据可视化—绘制简单的折线图