At a glance, we can see that we have more data for bitcoin than the rest. This is because the prices change daily, whereas for stocks, we only see the data for trading days. Another thing we can glean from this is scale; bitcoin is not only much more volatile, but is much higher than everything else. However, as we learned from previous chapters, visualization will make our analysis much easier, so let's begin our discussion of the Visualizer classes in stock_analysis/stock_visualizer.py.
First, we will define our base class—the Visualizer. The UML diagram tells us this is our base class because it has arrows pointing to it. These arrows originate from the subclasses (AssetGroupVisualizer and StockVisualizer): ...