I've tried search on the site for a solution, but haven't found one that is working for me.
I'm trying to plot a pretty large heatmap - x-axis has 21 containers and y-axis has 18. I'm reading the data in from a CSV, and for the most part, the cells are empty - except for a few. I'm also trying to label the axes.

When I plot the heatmap, it doesn't show the entire thing. I'm not sure if its a problem with the formatting of the figure, or the heatmap. If I leave any formatting out, the plot works - but it doesn't show all the rows/column. When I try to change the axes limits, or set the size of the figure, it essentially breaks the plot and the values don't show up accurately.

How do I make it show all columns and rows, even if the values cells are empty?

```
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

x_labels = ['A','B','C','D','E','F'
     'G','H','I','J','K','L',
     'M','N','O','P','Q','R',
     'S','T','U']
y_labels =['A','B','C','D','E','F','G','H','I','J',
     'K','L','M','N','O','P','Q','R']

#reading in a CSV, data in the file is mostly empty - only 3 of the cells have values in them.  I included a link to what the .csv looks like
metrics = pd.read_csv("filename.csv", index_col=0)

fig, ir = plt.subplots()
heatmap = ir.pcolor(metrics, cmap=plt.cm.Spectral)

#trying to set the axis labels.  Should this reference the column and row labels in the csv instead of the variable I created?
ir.set_xticklabels(x_labels, minor=False)
ir.set_yticklabels(y_labels, minor=False)

ir.invert_yaxis()

plt.show()

```

Here's a screenshot of what the `csv` file looks like:
![csv file](https://i.stack.imgur.com/QROv5.png)

This is the plot I get
![current_heatmap](https://i.stack.imgur.com/c40aY.png)

This is a screenshot of a print of the dataframe
![datafame_output](https://i.stack.imgur.com/OOJy7.png)