R语言数据可视化绘图bar chart条形图实现示例
<p>时光飞逝,岁月如梭,转眼又是一年过去了,本小仙怎么还是一事无成呢!</p><p>转念一想,这种事也不是一次两次了,再多一个又何妨,哈哈!</p>
<p>回归正题,今天就给大家介绍下直方图(histogram)的“好兄弟”——条形图(bar chart)。<br />假设小仙同学现在要帮一家书店用图形展示2018年最受大家欢迎的<br />书目,数据如下图。</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202202/2022021811125441.jpg" /></p>
<p>条形图画出来还挺好看,可是跟小仙想象中的可不一样。明明我的数据是按照销量从高到低排列的,为什么画出来却是按照字母顺序排列的呢?</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202202/2022021811125442.png" /></p>
<p>使用了对因子进行排序的函数reorder()之后,就变成了下图这个样子,跟想象中的还是不一样。</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202202/2022021811125443.png" /></p>
<p>在网上搜了半天教程,也没有找到简单的方法进行对因子降序排序,于是小仙同学就大胆的在排序向量参数前面加了个减号,竟然没有报错成功了,意外的惊喜(有时候大胆尝试也会有惊喜哦,网上找教程还要先看懂别人的代码,有时候发现看半天看懂了对自己并没有帮助)。</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202202/2022021811125444.png" /></p>
<p>具体的作图过程如下。</p>
<h2>Step1. 绘图数据的准备</h2>
<p>首先还是要把你想要绘图的数据调整成R语言可以识别的格式excel中保存成csv格式。</p>
<h2>Step2. 绘图数据的读取</h2>
<div class="jb51code"><pre class="brush:ruby;">data<-read.csv(“your file path”, header = T)
</pre></div>
<h2>Step3. 绘图所需package的调用</h2>
<div class="jb51code"><pre class="brush:ruby;">library(ggplot2)
data$书名<-factor(data$书名)
data$书名<-reorder(data$书名,-data$销量)
</pre></div>
<h2>Step4. 因子水平排序</h2>
<div class="jb51code"><pre class="brush:ruby;">data$书名<-factor(data$书名)
data$书名<-reorder(data$书名,-data$销量)
</pre></div>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202202/2022021811125445.jpg" /></p>
<h2>Step5. 绘图</h2>
<div class="jb51code"><pre class="brush:ruby;">p<-ggplot(data,aes(x=书名,y=销量,fill=书名)) +
geom_bar(stat="identity",width = 0.5) +
theme(axis.text.x = element_text(angle = 45, hjust = 0.8, vjust = 0.9))+
xlab("销量排行前十")+theme(legend.position="none")+
scale_y_continuous("销量",breaks = c(0,200000,400000,600000),labels = c("0","200000","400000","600000"))
p
</pre></div>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202202/2022021811125446.jpg" /></p>
<p>更新:有同学问怎么能把销量在400000的柱子画成同一种颜色,小仙今天终于克服懒惰来更新了<br />其实也很简单,最主要的是要再加一列标签来表示颜色的分类</p>
<p style="text-align:center"><img alt="添加标签列" src="https://img.jbzj.com/file_images/article/202202/2022021811125547.png" /></p>
<h3>新的作图代码</h3>
<p style="text-align:center"><img alt="新的作图代码,前面的都跟之前一样,晓得吧" src="https://img.jbzj.com/file_images/article/202202/2022021811125548.png" /></p>
<h3>效果图</h3>
<p style="text-align:center"><img alt="新的效果图" src="https://img.jbzj.com/file_images/article/202202/2022021811125549.png" /></p>
<p>如果按照我的教程画不出来,麻烦请告诉我</p>
<p>看别人的教程画不出来可能是你的问题,看我的教程画不出来一定是我的问题</p>
<p>更多关于R语言bar chart条形图绘图的资料请关注琼殿技术社区其它相关文章!</p>
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li>R语言 查找满足条件的数并获取索引的操作</li><li>R语言rhdf5读写hdf5并展示文件组织结构和索引数据</li><li>R语言绘图数据可视化pie chart饼图</li><li>R语言绘制数据可视化小提琴图Violin plot with dot画法</li><li>R语言数据可视化绘图Dot plot点图画法示例</li><li>R语言学习数据获取操作示例详解</li></ul>
</div>
</div>
<!--endmain-->
頁:
[1]