I have a Pandas dataframe and I want to build it as a matplotlib table. So far, I have this part working with the following code:
import numpy as np randn = np.random.randn from pandas import * idx = Index(arange(1,11)) df = DataFrame(randn(10, 5), index=idx, columns=['A', 'B', 'C', 'D', 'E']) vals = np.around(df.values,2) fig = plt.figure(figsize=(15,8)) ax = fig.add_subplot(111, frameon=True, xticks=[], yticks=[]) the_table=plt.table(cellText=vals, rowLabels=df.index, colLabels=df.columns, colWidths = [0.03]*vals.shape[1], loc='center') table_props = the_table.properties() table_cells = table_props['child_artists'] clm = cm.hot(vals) for cell in table_cells: cell.set_height(0.04)
At the end of this, I would like to set the background color of the cell according to the color palette, but how can I find it in the clm array without an index?
Another question: can I somehow transfer the format string to the table so that it formats the text to two decimal places?
Any hints, Andy
source share