import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')
matplotlib.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei']
matplotlib.rcParams['axes.unicode_minus'] = False
# 读取Excel
df = pd.read_excel(r'C:\Users\yl\Desktop\GIS\中国机场城市分布.xlsx', sheet_name=0)
# 创建表格图片
fig, ax = plt.subplots(figsize=(16, 12))
ax.axis('off')
# 绘制表格
table = ax.table(
cellText=df.values,
colLabels=df.columns,
cellLoc='left',
loc='upper left',
colWidths=[0.06, 0.12, 0.08, 0.74]
)
# 设置表格样式
table.auto_set_font_size(False)
table.set_fontsize(10)
table.scale(1.2, 1.8)
# 设置表头样式
for i in range(len(df.columns)):
table[(0, i)].set_facecolor('#4472C4')
table[(0, i)].set_text_props(color='white', fontweight='bold')
# 设置交替行颜色
for i in range(1, len(df) + 1):
for j in range(len(df.columns)):
if i % 2 == 0:
table[(i, j)].set_facecolor('#D6DCE5')
else:
table[(i, j)].set_facecolor('#FFFFFF')
plt.title('中国机场城市分布', fontsize=14, fontweight='bold', pad=20)
plt.tight_layout()
plt.savefig(r'C:\Users\yl\Desktop\GIS\1.png', dpi=150, bbox_inches='tight', facecolor='white')
plt.close()
print("表格图片已保存: C:\\Users\\yl\\Desktop\\GIS\\1.png")
print(f"行数: {len(df)}, 列数: {len(df.columns)}")
