《R数据可视化手册》一3.4 条形图着色
数据 可视化 手册 3.4 条形图 着色
2023-09-11 14:17:31 时间
本节书摘来自异步社区《R数据可视化手册》一书中的第3章,第3.4节,作者 【美】Winston Chang,更多章节内容可以访问云栖社区“异步社区”公众号查看
问题
如何将条形图中的条形设定为不同的颜色?
方法
将合适的变量映射到填充色(fill)上即可。
这里以数据集uspopchange为例。该数据集描述了美国各州人口自2000年到2010年的变化情况。我们选取出人口增长最快的十个州进行绘图。图中会根据地区信息(东北部、南部、中北部、西部)对条形进行着色。
首先,选取出人口增长最快的十个州:
library(gcookbook) #为了使用数据 upc - subset(uspopchange, rank(Change) 40) State Abb Region Change Arizona AZ West 24.6 Colorado CO West 16.9 Florida FL South 17.6 Georgia GA South 18.3 Idaho ID West 21.1 Nevada NV West 35.1 North Carolina NC South 18.5 South Carolina SC South 15.3 Texas TX South 20.6 Utah UT West 23.8
接下来,将Region映射到fill并绘制条形图(见图3-9):
ggplot(upc, aes(x=Abb, y=Change, fill=Region)) + geom_bar(stat="identity")
![8df3bb9716cdf3d6896795c9be958cbe244400bd](https://yqfile.alicdn.com/8df3bb9716cdf3d6896795c9be958cbe244400bd.png)
讨论
条形图的默认颜色不太吸引眼球,因此,可能需要借助函数scale_fill_brewer()或scale_fill_manual()重新设定图形颜色。这里我们调用后者。我们通过把参数指定为colour="black"将条形的边框线设定为黑色(见图3-10)。注意:颜色的映射设定是在aes()内部完成的,而颜色的重新设定是在aes()外部完成的:
ggplot(upc, aes(x=reorder(Abb, Change), y=Change, fill=Region)) + geom_bar(stat="identity", colour="black") + scale_fill_manual(values=c("#669933","#FFCC66")) + xlab("State")
![e377a6664d8ae533c2530da8867388011bbdfe74](https://yqfile.alicdn.com/e377a6664d8ae533c2530da8867388011bbdfe74.png)
本例用到了reorder()函数。在本例中,根据条形图的高度进行排序比按照字母顺序对分类变量排序更有意义。
另见
更多关于使用reorder()函数将因子根据另一个变量重新水平排序的内容,可参见15.9节。
更多关于图形着色的内容,参见第12章。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
- axios POST提交数据的三种请求方式写法
- 数据可视化之redash(支持43种数据源) (转自https://anjia0532.github.io/2019/07/08/redash/)
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- Hadoop大数据分布式文件系统hdfs的工作机制
- 遥感影像数据产品级别概述
- SAP物料主数据创建时间的线性增长
- Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图的函数源代码详解之最强攻略(建议收藏)
- ML之分类预测:机器学习中多分类预测数据集可视化(不同类别赋予不同颜色)设计思路及代码实现
- ML之LoR:基于LoR算法实现对非线性数据集点进行绘制决策边界
- Bigdata之sql+mplot:利用数据库信息和基于mplot将信息数据各种可视化(图表+地图+动态图)
- python数据分析小案例:把招聘数据做可视化处理~
- 行人跟踪数据集转为yolov5格式的数据集、Labelme以及可视化
- 0x05 MySQL 数据操作
- JSON 数据使用
- 【北京大学】Tensorflow2.0神经网络八股扩展、增加自制数据集、数据增强、断点续参数提取和acc、loss可视化,实现给图识物的应用程序
- MATLAB-数据统计分析