import pandas as pd
import matplotlib.pyplot as plt
data = {
'机构': ['中国', '北京', '上海', '天津', '武汉', '合肥'],
'总购入数量': [22, 0, 11, 11, 0, 0],
'新客户购入数量': [9.51, 0, 5.22, 4.29, 0, 0],
'老客户购入数量': [9.51, 0, 5.22, 4.29, 0, 0],
'新老客户合计购入数量': [10, 2, 2, 3, 2, 0],
'总目标': [10, 2, 2, 3, 2, 0],
'新客户完成率': [0.12564, 0.12564, 0.12564, 0.12564, 0.12564, 0.12564],
'渠道目标': [10, 2, 2, 3, 2, 0],
'老客户完成率': [0.2356, 0.2356, 0.2356, 0.2356, 0.2356, 0.2356],
}
df = pd.DataFrame(data)
plt.rcParams['font.sans-serif'] = ['simhei']
fig = plt.figure(figsize=(len(df.columns), len(df) + 1))
ax = fig.add_subplot(111)
table = ax.table(cellText=df.values, colLabels=df.columns, loc='center')
table.auto_set_column_width(col=list(range(len(df.columns))))
for i in range(len(df.columns)):
table[0, i].set_fontsize(20)
table[0, i].set_facecolor('#34495E')
table[0, i].set_text_props(color='w')
table[1, i].set_facecolor('#7BB2E6')
for j in range(2, len(df) + 1):
if j % 2 == 0:
table[j, i].set_facecolor('#EFEFEF')
else:
table[j, i].set_facecolor('#7FD5B8')
for cell in table._cells:
table._cells[cell]._text.set_fontsize(20)
table._cells[cell]._loc = 'center'
table._cells[cell]._height = 0.1
ax.set_title('年度情况表', fontsize=30, horizontalalignment='right')
plt.savefig('branch', bbox_inches='tight')
上面这段代码,我把表的宽度做了自适应
table.auto_set_column_width(col=list(range(len(df.columns))))
,现在我想把
ax.set_title('年度情况表', fontsize=30, horizontalalignment='right')
这个标题与table的内容“自动”左对齐,不要手动调整坐标,具体看我上传的图片,代码应该怎么写啊?
特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
api:plt.scatter(x, y)