These are my reading notes for Code Fellows
https://www.webdesignerdepot.com/2013/11/easily-create-stunning-animated-charts-with-chart-js/
Charts are way more readable than tables.
This resource was really straightforward and wrote out step-by-step instructions on how to add various types of graphs to my page. Animated line graphs, pie charts, and bar chart. It also included the code for how to do so.
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_usage
<canvas>’s only attributes are height and width. 300px x 150px by default. If these seem distorted, edit height/width in HTML, not CSS.
Remember to add id’s to <canvas> elements. You should also provide alt’s to these!
Styling to <canvas> does not affect the information/styling of the drawing itself.
Rendering Contexts - use getContext()
You can literally draw with canvas/JS. Below is a screenshot of about 10 lines of JavaScript:

-Image credit: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_usage
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes
Coordinate Space - the grid we work in with canvas.
All elements are placed relative to the top left corner of the grid(coordinate 0, 0).
fillRect(x, y, width, height)
- Draws a filled rectangle.
strokeRect(x, y, width, height)
- Draws a rectangular outline.
clearRect(x, y, width, height)
- Clears the specified rectangular area, making it fully transparent.
-Source: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes
ctx.fillRect(25, 25, 100, 100);
ctx.clearRect(45, 45, 60, 60);
ctx.strokeRect(50, 50, 50, 50);
The above functions are used to create this style of rectangle:

(Note: the code and image above are taken from https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes)
You can make shapes with paths because they are points connected by lines, and can be curved or uncurved (and can be various colors).
To do so, you first create the path, then use drawing commands to draw it, then add a stroke or fill to “render” it. There are a number of functions that do this:
beginPath()Creates a new path. Once created, future drawing commands are directed into the path and used to build the path up.
Path methodsMethods to set different paths for objects.
closePath()Adds a straight line to the path, going to the start of the current sub-path.
stroke()Draws the shape by stroking its outline.
fill()Draws a solid shape by filling the path’s content area.
moveTo(x, y)Moves the pen to the coordinates specified by x and y.
(Note: the definitions above are taken from https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes)
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors `
fillStyle = colorSets the style used when filling shapes.
strokeStyle = colorSets the style for shapes’ outlines.
(Note: the definitions above are taken from https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors )
Colors are set to black by default. Once you select a new color using the code above, those will become the default for whatever you draw from then on.
7 lines of JavaScript (using for loops!) can result in this:

-Image credit: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors
You can use strokeStyle instead of fillStyle to create lines, and arc to create circles.
This page also has some great ways to change the Line Style of your drawing, including lineCaps, which can be square, round, or butt.
lineJoin determines how lines are connected to one another.
This example taken from the reading (https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors) is mindblowing:

https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_text
fillText vs strokeText are similar concepts to strokeStyle and fillStyle. strokeText shows text with only its outline. This actually didn’t work using Mozilla Firefox, but it worked with Chrome. Which is funny considering the source.
Various
font = valuecurrent style of text.
textAlign = valuestart, end, left, right or center. The default value is start.
textBaseline = valuetop, hanging, middle, alphabetic, ideographic, bottom. The default value is alphabetic.
direction = valueDirectionality. Possible values: ltr, rtl, inherit. The default value is inherit.

(Note: the image and slightly reworded definitions above from https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes)