import pandas as pd
import matplotlib.pyplot as plt
data = {
"职级保费(万元)": ["00", "80", "100", "130", "160", "190", "220", "260", "340"],
"车商业务部": [0, 0, 1, 0, 1, 0, 0, 0, 0],
"公司业务部": [0, 0, 1, 4, 0, 0, 0, 0, 0],
"公司营业部": [0, 0, 2, 0, 2, 0, 1, 0, 0],
"公司重营部": [0, 0, 0, 4, 1, 1, 0, 0, 0],
"龙岩中支": [0, 4, 2, 0, 3, 1, 0, 0, 0],
"宁德中支": [0, 1, 3, 2, 2, 0, 0, 0, 0],
"莆田中支": [0, 0, 4, 6, 2, 3, 1, 0, 1],
"泉州中支": [0, 1, 2, 6, 3, 0, 1, 0, 0],
"营业二部": [0, 0, 0, 0, 1, 2, 0, 0, 0],
"营业六部": [0, 0, 0, 0, 3, 1, 0, 1, 0],
"营业三部": [0, 1, 1, 0, 1, 0, 0, 0, 0],
"营业四部": [0, 0, 0, 1, 2, 0, 0, 0, 0],
"营业五部": [0, 0, 0, 0, 3, 0, 0, 0, 0],
"营业一部": [0, 0, 0, 0, 3, 0, 1, 0, 0],
"永泰机构": [0, 0, 0, 4, 4, 0, 0, 2, 1],
"漳州中支": [2, 4, 2, 3, 3, 0, 0, 0, 0],
"直属二部": [0, 0, 1, 3, 0, 2, 0, 0, 1],
"直属一部": [0, 0, 3, 1, 0, 0, 0, 0, 0],
}
df = pd.DataFrame(data)
df_long = df.melt(id_vars="职级保费(万元)", var_name="部门", value_name="数量")
df_long["职级保费(万元)"] = df_long["职级保费(万元)"].astype(int)
df_filtered = df_long[df_long["数量"] > 0]
plt.figure(figsize=(12, 10))
plt.scatter(
x=df_filtered["职级保费(万元)"],
y=df_filtered["部门"],
s=df_filtered["数量"] * 100,
alpha=0.6,
edgecolors="w",
linewidth=1,
)
plt.title("各职级保费的销售单位分布", fontsize=14)
plt.xlabel("职级保费(万元)", fontsize=12)
plt.ylabel("部门", fontsize=12)
plt.grid(True, linestyle="--", alpha=0.6)
plt.xticks(sorted(df_filtered["职级保费(万元)"].unique()))
plt.tight_layout()
plt.show()