#set document(title: "2.8 Bar Charts", author: "OpenStax") #set page(width: 8.5in, height: auto, margin: 1in) #import "@preview/cetz:0.5.2" #set text(font: ("STIX Two Text", "Libertinus Serif", "New Computer Modern"), size: 10.5pt, lang: "en") #show math.equation: set text(font: ("STIX Two Math", "New Computer Modern Math")) #set par(justify: true, leading: 0.62em, spacing: 0.9em) #set enum(spacing: 1.1em) // room between list items so tall inline fractions don't collide #set list(spacing: 1.1em) #set table(stroke: 0.5pt + rgb("#c7ccd3")) #let BLUE = rgb("#183B6F") // brand navy — section bars + example/solution labels (white on navy 11.09:1) #let ORANGE = rgb("#A94509") // brand primary-700 — AA-safe deep orange for TEXT (5.93:1 on white; raw brand #F37021 is 2.94:1 and must never carry text) #let RED = rgb("#DC2626") // brand error-600 #let GREEN = rgb("#059669") // brand success-600 (decoration only; small green text uses green-text #007942) #show heading.where(level: 1): it => block(width: 100%, above: 0pt, below: 16pt, fill: gradient.linear(BLUE, rgb("#2C5AA0")), inset: (x: 14pt, y: 12pt), radius: 3pt, text(fill: white, weight: "bold", size: 19pt, it.body)) #show heading.where(level: 2): it => block(width: 100%, above: 18pt, below: 10pt, fill: BLUE, inset: (x: 10pt, y: 6pt), radius: 2pt, text(fill: white, weight: "bold", size: 12pt, it.body)) #show heading.where(level: 3): it => text(fill: ORANGE, weight: "bold", size: 12.5pt, it.body) #show heading.where(level: 4): it => text(fill: BLUE, weight: "bold", size: 10.5pt, it.body) #let examplebox(label, title, body) = block(width: 100%, breakable: true, fill: rgb("#EFF1F5"), stroke: 0.5pt + rgb("#CFDDF0"), radius: 4pt, inset: 10pt, above: 12pt, below: 12pt)[ #block(below: 6pt)[#box(fill: BLUE, inset: (x: 6pt, y: 2pt), radius: 2pt, text(fill: white, weight: "bold", size: 8.5pt, label)) #h(0.4em) #strong[#title]] #body] // rail = decorative left rule (raw brand token); labelcolor = AA-safe label text shade #let notebox(label, rail, labelcolor, tint, body) = block(width: 100%, breakable: true, fill: tint, stroke: (left: 3pt + rail), inset: (left: 10pt, rest: 8pt), radius: (right: 4pt), above: 11pt, below: 11pt)[ #text(fill: labelcolor, weight: "bold", size: 7.5pt, tracking: 0.5pt)[#upper(label)] #linebreak() #body] #let solutionbox(body) = block(above: 4pt, below: 8pt)[ #text(fill: BLUE, weight: "bold", size: 8.5pt)[Solution] #linebreak() #body] #let figph(msg) = block(width: 100%, height: 60pt, fill: rgb("#f6f7f9"), stroke: (paint: rgb("#c7ccd3"), dash: "dashed"), radius: 4pt, inset: 10pt)[ #align(center + horizon, text(fill: rgb("#889"), style: "italic", size: 9pt, msg))] // Standardize inlined figure sizes: measure the natural CeTZ canvas, then scale to a // consistent envelope (aspect-aware; see build_typst.py FIG_* constants). Unlike the // print preamble, dimensions are FLOORED: in an editor a user can trim a figure to a // degenerate 1-D shape (a bare line), and w/h or tw/w would then divide by zero. #let _STD_W = 3.5 #let _WIDE_W = 5.6 #let _MAX_H = 3.4 #let _ASPECT_WIDE = 2.2 #let _UPSCALE_MAX = 1.15 #let stdfig(body) = context { let m = measure(body) let w = calc.max(m.width / 1in, 0.01) let h = calc.max(m.height / 1in, 0.01) let tw = if w / h > _ASPECT_WIDE { _WIDE_W } else { _STD_W } let s = calc.min(tw / w, _MAX_H / h, _UPSCALE_MAX) align(center, box(scale(x: s * 100%, y: s * 100%, reflow: true, body))) } #show figure: set block(breakable: false) #set figure(gap: 8pt) #show figure.caption: set text(size: 8.5pt, fill: rgb("#555")) == 2.8#h(0.6em)Bar Charts #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Prerequisites] Graphing Qualitative Variables #linebreak() #linebreak() ] #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Learning Objectives] + Create and interpret bar charts + Judge whether a bar chart or another graph such as a box plot would be more appropriate ] In the section on qualitative variables, we saw how bar charts could be used to illustrate the frequencies of different categories. For example, the bar chart shown in Figure 1 shows how many purchasers of iMac computers were previous Macintosh users, previous Windows users, and new computer purchasers. #figure(figph[Bar chart of iMac buyers by previous computer: None about 85, Windows about 60, Macintosh about 355, on a y-axis from 0 to 400.], alt: "Bar chart of iMac buyers by previous computer: None about 85, Windows about 60, Macintosh about 355, on a y-axis from 0 to 400.", caption: [Figure 1. iMac buyers as a function of previous computer ownership.]) In this section, we show how bar charts can be used to present other kinds of quantitative information, not just frequency counts. The bar chart in Figure 2 shows the percent increases in the Dow Jones, Standard and Poor 500 (S & P), and Nasdaq stock indexes from May 24#super[th] 2000 to May 24#super[th] 2001. Notice that both the S & P and the Nasdaq had “negative increases” which means that they decreased in value. In this bar chart, the Y-axis is not frequency but rather the signed quantity #emph[percentage increase.] #figure(figph[Bar chart of percent change in three stock indexes from May 24 2000 to May 24 2001: Dow Jones up about 8.5%, S&P 500 down about 5.5%, Nasdaq down about 27%. Bars extend above and below a zero baseline.], alt: "Bar chart of percent change in three stock indexes from May 24 2000 to May 24 2001: Dow Jones up about 8.5%, S&P 500 down about 5.5%, Nasdaq down about 27%. Bars extend above and below a zero baseline.", caption: [Figure 2. Percent increase in three stock indexes from May 24#super[th] 2000 to May 24#super[th] 2001.]) Bar charts are particularly effective for showing change over time. Figure 3, for example, shows the percent increase in the Consumer Price Index (CPI) over four three-month periods. The fluctuation in inflation is apparent in the graph. #figure(figph[Bar chart of percent increase in the Consumer Price Index for four quarters: July 2000 about 3.8%, October 2000 about 2.8%, January 2001 about 4.2%, April 2001 about 2.5%.], alt: "Bar chart of percent increase in the Consumer Price Index for four quarters: July 2000 about 3.8%, October 2000 about 2.8%, January 2001 about 4.2%, April 2001 about 2.5%.", caption: [Figure 3. Percent change in the CPI over time. Each bar represents percent increase for the three months ending at the date indicated.]) Bar charts are often used to compare the means of different experimental conditions. Figure 4 shows the mean time it took one of us (DL) to move the mouse to either a small target or a large target. On average, more time was required for small targets than for large ones. #figure(figph[Bar chart of mean reaction time in milliseconds by target size: small target about 730 msec, large target about 550 msec.], alt: "Bar chart of mean reaction time in milliseconds by target size: small target about 730 msec, large target about 550 msec.", caption: [Figure 4. Bar chart showing the means for the two conditions.]) Although bar charts can display means, we do not recommend them for this purpose. Box plots should be used instead since they provide more information than bar charts without taking up more space. For example, a box plot of the mouse-movement data is shown in Figure 5. You can see that Figure 5 reveals more about the distribution of movement times than does Figure 4. #figure(figph[Box plots of reaction times by target size: the small-target box spans about 650 to 820 msec with median about 700 and whiskers from 570 to about 1,010; the large-target box spans about 520 to 610 with median about 545 and whiskers from about 440 to 680.], alt: "Box plots of reaction times by target size: the small-target box spans about 650 to 820 msec with median about 700 and whiskers from 570 to about 1,010; the large-target box spans about 520 to 610 with median about 545 and whiskers from about 440 to 680.", caption: [Figure 5. Box plots of times to move the mouse to the small and large targets.]) The section on qualitative variables presented earlier in this chapter discussed the use of bar charts for comparing distributions. Some common graphical mistakes were also noted. The earlier discussion applies equally well to the use of bar charts to display quantitative variables.