{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Matplotlib\n",
"\n",
"Matplotlib is a library for making 2D plots of arrays in Python. Although Matplotlib is written primarily in pure Python, it makes heavy use of NumPy and other extension code to provide good performance even for large arrays. Matplot lib contain a lot of functionality but we only focus on some of the parts of matplotlib."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Line"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nNXsuAAAAAElFTkSuQmCC\n",
"text/plain": [
"