https://mixrolikus.cc/video/g6m7hp5LH58/matplotlib-2d-and-3d-plotting-in-python