--- disqus: ahb0222 GA : G-VF9ZT413CG --- # 盒鬚圖(Boxplot) 中顯示最大最小值 R 繪製方法 > [color=#40f1ef][name=LHB阿好伯, Jan 26, 2019 ][:earth_africa:](https://www.facebook.com/LHB0222/) ###### tags: `可視化` [TOC] 最近一位朋友詢問在Sigmaplot中無法顯示最大最小值 在[一圖勝千表_數據可視化_基本圖表篇](/LphJAeGFTVKIMT-FP0giNg)中有介紹到 箱型圖是一種用作顯示一組數據分散情況資料的統計圖 盒鬚圖可以呈現許多資訊例如集中趨勢(中位數,平均值和分布模式) 用來比較群組間的差異是很好的 ![](https://i.imgur.com/9zd7jIC.jpg) 在Sigmaplot中預設是會顯示離群值(outlier) 而離群值並不是最大或最小值 這邊用一個範例來看在第8廠的地方有一個29的數值 但在盒鬚圖中並沒辦法顯示出來 ![](https://i.imgur.com/9K6FyHy.png) ![](https://i.imgur.com/YvkTC4R.png) Sigmaplot試過一些方法都無法解決 最後利用R來處理 在[一圖勝千表_數據可視化_基本圖表篇](/LphJAeGFTVKIMT-FP0giNg)中也有提到一圖形稱為小提琴圖(violin plot)算是盒鬚圖的變形 也可以用來顯示資料的分布但並不是敘述統計上的資訊 而是實際的數值分布情況結果如下 ![](https://i.imgur.com/8DGMXbv.png) --- 數據準備另存成CSV檔 | 廠商 | 次數 | | :--------: | :--------: | | 1廠 | 3 | | 1廠 | 7 | | : | : | | 2廠 | 6 | | 2廠 | 4 | | : | : | | 3廠 | 6 | | : | : | | : | : | | 11廠 | 4 | # R程式碼 ```R=1 install.packages("ggplot2") #安裝ggplot2套件 library(ggplot2) #載入ggplot2套件 Data_flie <- file.choose() #選取檔案位址 PointData <- read.csv(Data_flie) #讀取檔案 PointData <- data.frame(PointData) #轉換成為Data from qplot(廠商,次數,data = PointData,geom = "violin",fill = 廠商,main = "各廠家點數") #繪製小提琴圖 ``` 最後一行改成 ```R=6 qplot(廠商,次數,data = PointData,geom = "violin",fill = 廠商,main = "各廠家點數") + geom_dotplot(binaxis='y', stackdir='center', dotsize=0.3) ``` 可以更加明確地呈現出其資料的分布 ![](https://i.imgur.com/YBdMtif.png) R的優點在於其可編程其變化較多 例如將boxplot中添加上圖中的資料點也可以 只需要將geom = "violin"改成geom = "boxplot" ![](https://i.imgur.com/dh9MXTn.png) ```R=6 qplot(NAME,NUM,data = PointData, + geom = "boxplot",fill = NAME,main = "各廠家點數") + geom_dotplot(binaxis='y', stackdir='center', + dotsize=0.3) ``` 有時候大家也會用添加一些亂數排列的方式來呈現分布 ![](https://i.imgur.com/7HurAZJ.png) 將 geom_dotplot(binaxis='y', stackdir='center', dotsize=0.3) 改成 geom_jitter(height = 0.2, width = 0.2) ```R=7 geom_jitter(height = 0.2, width = 0.2) ``` Excel、Origin、Sigmaplot、GraphPad等軟體, 不需要編程、只要點擊介面按鈕就可以繪製圖表,卻喪失一定的靈活性。 你可以改變顏色、字體和標題,但僅限於軟體所提供的那些元素。 這些軟體只能由你去適應它的操作規則、讓你使用現有的圖表, 而並不能創造新的圖表 像R、Matlab、Python等軟體,需要編程才能實現圖表的繪製, 這些軟體本身包含很多數據可視化的函數(function)或者包(package) 掌握代碼與算法,你也可以自己編寫函數設計新穎的圖表。 有機會一定推薦大家都學習R當作繪圖軟體的主力 想學習的可以參考[R語言網路免費基礎資料與個人推薦書單](/1TgzGGWGT_KLSvkDOwDmTw) 全文分享至 https://www.facebook.com/LHB0222/ 有疑問想討論的都歡迎於下方留言 喜歡的幫我分享給所有的朋友 \o/ 有所錯誤歡迎指教 ![](https://i.imgur.com/47HlvGH.png) <style> html, body, .ui-content { background-color: #333; color: #ddd; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style>