我想把一个 Dataframe 转换成表,代码如下:
import pandas as pd
import matplotlib.pyplot as plt
# Create a dataframe
df = pd.DataFrame({'Name':['John','Barry','Irene','Paul','Ricky','Jenny','Tina','Linda','Toby','Peter'],
'Age':[19,20,17,19,18,21,19,21,18,20]})
# Create the figure
fig, ax = plt.subplots()
# Define the colors
cmap = {0:'b', 1:'y', 2:'k', 3:'gray'}
cell_colours = []
for n in range(len(df.index)):
if n<4:
cell_colours.append(cmap[0])
elif 4<=n<8:
cell_colours.append(cmap[1])
elif 8<=n<12:
cell_colours.append(cmap[2])
else:
cell_colours.append(cmap[3])
# Plot the table
table = ax.table(cellText=df.values, colLabels=df.columns, loc='center',
cellColours=cell_colours)
# Add the table to the figure
fig.add_axes(ax)
# Show the plot
plt.show()
结果是
'值错误:cellColours "中的每一行必须有2列
我做错了什么?
1条答案
按热度按时间kqqjbcuj1#
它是单元格的颜色,而不是行的颜色。所以如果你有两列,你需要每行两个颜色值。
例如:
这种方法允许您根据需要为每列设置不同的颜色。