R語言數據可視化1—ggplot2畫柱狀圖

来源:http://www.cnblogs.com/dsjxmz/archive/2017/05/19/6877482.html
-Advertisement-
Play Games

R語言數據可視化之ggplot2包,從柱狀圖開始。從簡單的業務量統計開始。 ...


目的:將已有的業務表(csv格式),導入到Rstudio中。根據“開始時間”,按月份統計出業務量。畫出下圖。(註:我選擇的業務表中只有1、2、3月的數據)

 

開始吧!!!

1.載入csv格式的數據表,並查看欄位名:

##載入數據
khsx <-read.csv("khsx.csv",header = TRUE)
names(khsx)##查看列名

2.載入將要使用的包

##載入包
library(ggplot2) ##畫圖用的包
library(lubridate) ##提取時間欄位月份的包
library(ggthemes)  ##樣式主題包

3.數據整合,統計出作圖的數據集

##根據月份統計業務量
len<-aggregate(開始時間~factor(month(開始時間)),khsx,length)
##重命名數據框"len"的列名稱。
names(len)[1:2]<-c("月份","業務量")

4.作圖

##畫圖
ggplot(len,aes(月份,業務量,fill=月份))+  ##ggplot2的數據層和映射層(單有此層無圖)
  geom_bar(position = "dodge",stat = "identity",width = 0.5)+ ##ggplot2的幾何圖像層(至少要到這一層)
  theme_economist() ##ggplot2的主題層

上面代碼解釋:在ggplot2中, 所接受的數據集必須為數據框(data.frame)格式, 如上面的"len"數據集,aes(行,列,fill=月份),fill部分為按月份填充預設顏色。

通過 "+"號來連接圖層。geom_bar表示畫柱狀圖,position = "dodge"意思為將柱子併列放置,stat是指統計變換;stat='identity'是指不進行統計變換即業務量就是縱。

 

結束!!!

 

所使用包的知識講解:

1.處理時間欄位

提取月份,日,年份數字使用了lubridate包

1 library(lubridate)
2 d<-c("2012-1-10","2013-5-9","2014-6-25")
3 year(d)
4 month(d)
5 day(d)

 

      


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • (filetype("./test")); //判斷是文件還是目錄 * (is_file("./aa.txt")); //判斷是否是文件 * is_dir("./test"); //判斷是否是目錄 echo fileatime("./aa.txt"); //文件的上次訪問時間 返回時間戳 echo ... ...
  • 一、random常用模塊 1.random.random() 隨機生成一個小數 2.random.randint(m,n) 隨機生成一個m到n的整數(包括n) 3. random.randrange(m,n) 隨機生成m到n中的一個數,包括 m 但是不包括 n 4. random.smaple(so ...
  • 1 <bean name="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean> 1 <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean> 用id和name的效果是一樣的,唯一的不同是 n ...
  • Ant path 匹配原則 在Spring MVC中經常要用到攔截器,在配置需要要攔截的路徑時經常用到<mvc:mapping/>子標簽,其有一個path屬性,它就是用來指定需要攔截的路徑的。例如: <mvc:interceptor><mvc:mapping path="/**" /><bean c ...
  • PHP中include和require關鍵字,都可以在一個腳本文件中包含另一個腳本文件,但是兩者卻有幾點不同處: 1.include包含文件,出錯時會產生一個E_WARNING(警告),但是腳本仍舊可以繼續運行 2.require包含文件,會產生一個E_COMPILE_ERROR(錯誤),腳本終止 ...
  • 給出一個長為n的數列,以及n個操作,操作涉及區間加法,單點查值。 這是一道能用許多數據結構優化的經典題,可以用於不同數據結構訓練。 數列分塊就是把數列中每m個元素打包起來,達到優化演算法的目的。 以此題為例,如果我們把每m個元素分為一塊,共有n/m塊,每次區間加的操作會涉及O(n/m)個整塊,以及區間 ...
  • 分塊:顧名思義,把一個區間分成不同的塊,然後由原來的每個點暴力轉換為每個塊的暴力,這樣就大大減小了時間複雜度 可能涉及的幾個詞語解釋: 區間:數列中連續一段的元素 區間操作:將某個區間[a,b]的所有元素進行某種改動的操作 塊:我們將數列劃分成若幹個不相交的區間,每個區間稱為一個塊 整塊:在一個區間 ...
  • a) setter(重要) b) 構造方法(可以忘記),簡單例子: 用的不多,具體的構造函數重構應用可以參考源文檔 c) 介面註入(可以忘記)。 代碼鏈接: http://pan.baidu.com/s/1pKAe5Vt 密碼: qvyy jar 包: 鏈接: http://pan.baidu.co ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...