This is a file from the Wikimedia Commons

File:Standard deviation diagram.svg

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Original file(SVG file, nominally 400 × 200 pixels, file size: 17 KB)


English: Normal distribution curve that illustrates standard deviations. Each band has 1 standard deviation, and the labels indicate the approximate proportion of area (note: these add up to 99.8%, and not 100% because of rounding for presentation.)
Français : Courbe de distribution normale montrant l'écart type. Chaque bande verticale a une largeur d'un écart type et les pourcentages indiquent leur valeur approximative rapportée à la population totale. Note : du fait des arrondis, le total est de 99,8 % au lieu de 100%.
Source Own work, based (in concept) on figure by Jeremy Kemp, on 2005-02-09
Author M. W. Toews
Other versions


w:en:Creative Commons
This file is licensed under the Creative Commons Attribution 2.5 Generic license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

R logo.svg
This chart was created with R:

R code

svg(filename = "Standard deviation diagram.svg", width = 7, height = 3.5)
par(mar = c(2, 2, 0, 0))

# # External package to generate four shades of blue
# library(RColorBrewer)
# cols <- rev(brewer.pal(4, "Blues"))
cols <- c("#2171B5", "#6BAED6", "#BDD7E7", "#EFF3FF")

# Sequence between -4 and 4 with 0.1 steps
x <- seq(-4, 4, 0.1)

# Plot an empty chart with tight axis boundaries, and axis lines on bottom and left
plot(x, type="n", xaxs="i", yaxs="i", xlim=c(-4, 4), ylim=c(0, 0.4),
     bty="l", xaxt="n", xlab="", ylab="")

# Function to plot each coloured portion of the curve, between "a" and "b" as a
# polygon; the function "dnorm" is the normal probability density function
polysection <- function(a, b, col, n=11){
    dx <- seq(a, b, length.out=n)
    polygon(c(a, dx, b), c(0, dnorm(dx), 0), col=col, border=NA)
    # draw a white vertical line on "inside" side to separate each section
    segments(a, 0, a, dnorm(a), col="white")

# Build the four left and right portions of this bell curve
for(i in 0:3){
    polysection(     i, i + 1, col=cols[i + 1])  # Right side of 0
    polysection(-i - 1,    -i, col=cols[i + 1])  # Left right of 0

# Black outline of bell curve
lines(x, dnorm(x))

# Bottom axis values, where sigma represents standard deviation and mu is the mean
axis(1, at=-3:3, labels=expression(mu - 3 * sigma, mu - 2 * sigma, mu - sigma, mu,
                                   mu + sigma, mu + 2 * sigma, mu + 3 * sigma))

# Add percent densities to each division (rounded to 1 decimal place), between x and x+1
text(c((0:3) + 0.5, (0:-3) - 0.5), c(0.16, 0.05, 0.04, 0.02),
     sprintf("%.1f%%", 100 * (pnorm(1:4) - pnorm(0:3))),
     col=c("white", "white", "black", "black"))
segments(c(-2.5, -3.5, 2.5, 3.5), dnorm(c(2.5, 3.5)),
         c(-2.5, -3.5, 2.5, 3.5), c(0.03, 0.01))

File history

Click on a date/time to view the file as it appeared at that time.

current02:06, 15 January 2015Thumbnail for version as of 02:06, 15 January 2015400 × 200 (17 KB)GliderMavenAverage is now zero not mu
11:08, 7 April 2007Thumbnail for version as of 11:08, 7 April 2007400 × 200 (14 KB)Petter Strandmark== Summary == Standard deviation diagram, based an original graph by Jeremy Kemp, in 2005-02-09 []. This figure was started in R using: <pre> x <- seq(-4,4,.1) plot(x,dnorm(x),type

More than 100 pages link to this file. The following list shows the first 100 page links to this file only. A full list is available.

Global file usage

The following other wikis use this file:

View more global usage of this file.