Matplotlib學習---用matplotlib畫誤差線(errorbar)

誤差線用于顯示數據的不確定程度,誤差一般使用標準差(Standard Deviation)或標準誤差(Standard Error)。

?

標準差(SD):是方差的算術平方根。如果是總體標準差,那么用σ表示,如果是樣本標準差,那么用s表示。標準差反映數據集的離散程度,標準差越小,就說明數據越集中在其平均值附近。公式:(總體),{\displaystyle s={\sqrt {\frac {\sum _{i=1}^{N}(x_{i}-{\overline {x}})^{2}}{N-1}}}.}(樣本)
標準誤差(SE):是樣本分布的標準差。如果是樣本平均數分布的標準差,那么就稱為SEM(standard error of the mean),就是說每次從總體中抽取n個樣本,抽取很多次后,每次抽樣的平均值(?)就形成了一個數據分布,這個數據分布有自己的平均值和標準差。抽樣的平均值分布的平均數應該接近總體平均數()。標準誤差反映樣本(sample)對于總體(population)的差異性,每次抽樣的樣本數越多,標準誤差就越小。公式:{\displaystyle {\sigma }_{\bar {x}}\ ={\frac {\sigma }{\sqrt {n}}}}

?

下面利用Nathan Yau所著的《鮮活的數據:數據可視化指南》一書中的數據,學習畫圖。

?

數據地址:http://datasets.flowingdata.com/crimeRatesByState2005.csv

?

以下是這個數據文件的前5行:

           state  murder  forcible_rape  robbery  aggravated_assault  \
0  United States     5.6           31.7    140.7               291.1   
1        Alabama     8.2           34.3    141.4               247.8   
2         Alaska     4.8           81.1     80.9               465.1   
3        Arizona     7.5           33.8    144.4               327.4   
4       Arkansas     6.7           42.9     91.1               386.8   burglary  larceny_theft  motor_vehicle_theft  population  
0     726.7         2286.3                416.7   295753151  
1     953.8         2650.0                288.3     4545049  
2     622.5         2599.1                391.0      669488  
3     948.4         2965.2                924.4     5974834  
4    1084.6         2711.2                262.1     2776221

這是美國各州各種犯罪行為的發生率(每10萬人口)。

?

讓我們畫一個圖,把全美各犯罪率的平均數,標準差展現出來。

?

誤差線: ax.errorbar(x,y,yerr=error size in y axis,xerr=error size in x axis)

?

代碼如下:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
crime=pd.read_csv(r"http://datasets.flowingdata.com/crimeRatesByState2005.csv")
fig,ax=plt.subplots(figsize=(8,4))col=crime.columns.astype(str) #提取列名,將來做x軸刻度標簽
crime=crime[1:] #把第一行US的數據去除
data=crime.loc[:,"murder":"motor_vehicle_theft"] #提取數據部分,以便將來進行計算

crime.loc["mean"]=data.apply(np.mean) #增加一行,為數據每列的均值,apply函數用于數據每一列
crime.loc["standard deviation"]=data.apply(np.std) #增加一行,為數據每列的標準差,apply函數用于數據每一列#畫誤差線,x軸一共7項,y軸顯示平均值,y軸誤差為標準差
ax.errorbar(np.arange(7),crime.loc["mean","murder":"motor_vehicle_theft"],\yerr=crime.loc["standard deviation","murder":"motor_vehicle_theft"],\fmt="o",color="blue",ecolor='grey',elinewidth=2,capsize=4)
ax.set_xticklabels(col,rotation=45) #設置x軸刻度標簽,并使其傾斜45度,不至于重疊

plt.show()

?

圖像如下:

?

?

另外,還可以在柱形圖或條形圖上畫誤差線,分別在ax.bar命令里加上yerr參數,或在ax.barh命令里加上xerr參數即可。

?

轉載于:https://www.cnblogs.com/HuZihu/p/9418903.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279539.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于自增id 你可能還不知道

導讀:在使用MySQL建表時,我們通常會創建一個自增字段(AUTO_INCREMENT),并以此字段作為主鍵。本篇文章將以問答的形式講述關于自增id的一切。 注: 本文所講的都是基于Innodb存儲引擎。 1.MySQL為什么建議將自增列id設為主鍵&#x…

Android One和Android Go有什么區別?

In 2014, Google announced a lineup of low-cost, low-spec phones called Android One. In 2017, they announced Android Go, specifically designed for low-cost, low-spec phones. So…what’s the difference? 2014年,Google宣布了一系列名為Android One的低…

outlook advanced find 快捷鍵不起作用

癥狀:用戶反應按outlook advanced find的快捷鍵時無效,快捷鍵為CtrlShiftF。第一感覺是肯定跟別的軟件有沖突了,觀察了下,發現用戶正在使用sougou拼音輸入法,于是點其屬性查看,果然發現與其的簡繁切換沖突了…

vue1.0和vue2.0生命周期----整理一

## 1. 作用域區別   1.x 隨意的定義作用域   2.x 不允許body 或者html 元素 ## 2. 生命周期   1.x:     created 實例已經創建     beforeCompile 在編譯之前     compiled 編譯之后     ready 實例已經插入到文檔之中     beforeDetroy 在銷毀之前 …

21-while里的break簡單用法

break是結束循環,break之后、循環體內代碼不再執行。 while True:yn input(Continue(y/n): )if yn in [n,N]:breakprint(running......) 結果輸出: 轉載于:https://www.cnblogs.com/hejianping/p/10861816.html

視頻造假_如何發現“深造假”面部切換視頻

視頻造假Recently, Reddit has been making news again with a subreddit in w hich people use a machine learning tool called “Deep Fake” to automatically replace one person’s face with another in a video. Obviously, since this is the internet, people are us…

C#實現MD5加密

C#實現MD5加密。 1、創建MD5Str.cs加密處理類 [csharp] view plaincopy public class MD5Str { /// <summary> /// 字符串MD5加密 /// </summary> /// <param name"Text">要加密的字符串</param> /// <returns…

【agc004f】Namori Grundy

那個問一下有人可以解釋以下這個做法嘛&#xff0c;看不太懂QwQ~ Description 有一個n個點n條邊的有向圖&#xff0c;點的編號為從1到n。 給出一個數組p&#xff0c;表明有&#xff08;p1&#xff0c;1&#xff09;&#xff0c;&#xff08;p2&#xff0c;2&#xff09;&#x…

找到特定ip地址 修改ip_您如何找到網站的IP地址?

找到特定ip地址 修改ipWhether you are in it just for a bit of geeky fun, or are seriously wanting to know the answer, how do you find out the IP address for a website? Today’s SuperUser Q&A post looks at the answer, and how to know if more than one we…

Rational Rose 2003 下載、破解及安裝方法(圖文)

方法一&#xff1a; 1、安裝Rational Rose2003時&#xff0c;在需選擇安裝項的時候&#xff0c;只選擇Rational Rose EnterPrise Edition即可&#xff0c;不需選擇其他項&#xff0c;之后選擇“DeskTop Installation from CD Image“&#xff0c;一路下一步。出現Mem_pointer_B…

數據結構:莫隊

莫隊算法是用來處理一類無修改的離線區間詢問問題 莫隊的精髓就在于&#xff0c;離線得到了一堆需要處理的區間后&#xff0c;合理的安排這些區間計算的次序以得到一個較優的復雜度 代表題目是BZOJ2038這道題 進行區間詢問[l,r]&#xff0c;輸出該區間內隨機抽兩次抽到相同顏色…

【學習筆記】第三章 python3核心技術與實踐--Jupyter Notebook

可能你已經知道&#xff0c;Python 在 14 年后的“崛起”&#xff0c;得益于機器學習和數學統計應用的興起。那為什么 Python 如此適合數學統計和機器學習呢&#xff1f;作為“老司機”的我可以肯定地告訴你&#xff0c;Jupyter Notebook &#xff08;https://jupyter.org/&…

二進制安位處理_處理器與安??全性之間的聯系是什么?

二進制安位處理Newer processors are able to contribute to the security of your system, but what exactly do they do to help? Today’s Super User Q&A post looks at the link between processors and system security. 較新的處理器能夠為您的系統安全做出貢獻&am…

李開復現身說法成功的十個啟發

http://blog.sina.com.cn/kaifulee自信不失謙虛&#xff0c;謙虛不失自信天賦就是興趣 興趣就是天賦思考比傳道重要 觀點比解惑重要我不同意你 但我支持你挫折不是懲罰 而是學習的機會創新不重要 有用的創新才重要完美的工作 成長興趣 影響力用勇氣改變可以改變的事情做最好的領…

關于width: 100%的一些看法

一.position對width 設置為百分比的影響<html><head><style type"text/css">img {width: 50%}body {margin: 8px;}</style> </head><body><div style" min-height: 10px; background: red; "><div><im…

Haproxy+多臺MySQL從服務器(Slave) 實現負載均衡

本系統采用MySQL一主多從模式設計&#xff0c;即1臺 MySQL“主”服務器(Master)多臺“從”服務器(Slave)&#xff0c;“從”服務器之間通過Haproxy進行負載均衡&#xff0c;對外只提供一個訪問IP&#xff0c;當程序需要訪問多臺"從"服務器時&#xff0c;只需要訪問Ha…

愛普生第三方相機_值得購買第三方相機鏡頭嗎?

愛普生第三方相機When people buy a Canon or Nikon camera, they often assume that they can only buy Canon or Nikon lenses. But that isn’t true. While Nikon lenses won’t work on your Canon camera, there are third-party lens manufacturers—such as Sigma, Tam…

[BZOJ4182]Shopping

description 權限題。 樹上\(n\)個節點每個節點都有一種物品&#xff0c;每種物品有其價值&#xff0c;價格&#xff0c;數量&#xff0c;只能買一個連通塊中的物品&#xff0c;求\(m\)元能買到物品價值的最大值。 data range \[ n\le 500,m\le 4000,T\le 5,c_i\le m\] solutio…

如何用 Flutter 實現混合開發?閑魚公開源代碼實例

2019獨角獸企業重金招聘Python工程師標準>>> 具有一定規模的 App 通常有一套成熟通用的基礎庫&#xff0c;尤其是阿里系 App&#xff0c;一般需要依賴很多體系內的基礎庫。那么使用 Flutter 重新從頭開發 App 的成本和風險都較高。所以在 Native App 進行漸進式遷移…

Silverlight之工具箱使用1

我們在開發Silverlight項目時必定需要使用VS自帶的一些控件&#xff0c;但是這些有限的控件有時候難以滿足開發時的需求&#xff0c;因此MS給我們大家提供另外一套工具&#xff0c;來緩解Silverlight開發包的不足。此工具箱免費下載地址是&#xff1a;http://silverlight.codep…