工程醒目上的数据冲突问题解决方案

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
# import os
# os.chdir(r'E:\Desktop\画图\0116') #数据文件存放文件夹位置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.size'] = 12

data1 = df.pivot_table(columns='tbzh2',index='province',values='ncdlr_e_level',aggfunc='mean',fill_value=0,dropna=False)
data2 = df.pivot_table(columns='tbzh2',index='province',values='ncdlr_e_level',aggfunc='sum',fill_value=0,dropna=False)

fig,axs = plt.subplots(1,2,figsize=(10,3))
ax = axs[0]
sns.heatmap(data1,annot=True,ax=ax,cmap='Blues')
ax.set_ylabel('城市',labelpad=10)
ax.set_xlabel('险种',labelpad=10)
ax.set_title('等级平均值')
ax = axs[1]
sns.heatmap(data2,annot=True,ax=ax,cmap='Blues')
ax.set_ylabel('城市',labelpad=10)
ax.set_xlabel('险种',labelpad=10)
ax.set_title('等级总和')
plt.show()
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# import os
# os.chdir(r'E:\Desktop\画图\0116') #数据文件存放文件夹位置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.size'] = 12

df = pd.read_excel('test.xlsx')

df['carbrandname_jy'] = df['carbrandname_jy'].astype('category')
city = df['province'].unique().tolist()

fig,ax= plt.subplots(figsize=(6,4))
for i,n in enumerate(city):
    data = df[df['province']==n]
    ax.scatter(data['carbrandname_jy'],data['ncdlr_e_level'],label=n)
ax.legend(loc=(1.02,0.7))
ax.yaxis.set_major_locator(plt.MultipleLocator(1))
ax.grid(ls='--',lw=0.6)
ax.set_ylabel('Level',labelpad=10)
ax.set_xlabel('Car brand',labelpad=10)
plt.show()
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
# import os
# os.chdir(r'E:\Desktop\画图\0116') #数据文件存放文件夹位置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.size'] = 12

df = pd.read_excel('test(1).xlsx')

df['carbrandname_jy'] = df['carbrandname_jy'].astype('category')
city = df['province'].unique().tolist()

fig,ax= plt.subplots(figsize=(6,5))
for i,n in enumerate(city):
    data = df[df['province']==n]
    data['cnt'] = 1
    count = data.iloc[:,-3:].pivot_table(columns='carbrandname_jy',index='ncdlr_e_level',values='cnt',aggfunc='sum')
    data['cnt'] = data.apply(lambda x:count.loc[x[3],x[2]],axis=1)
    ax.scatter(data['carbrandname_jy'],data['ncdlr_e_level'],label=n,s=data['cnt']*30)
p1 = ax.legend(loc=(1.01,0.8),fontsize=9,markerscale=0.6,frameon=False)
ax.yaxis.set_major_locator(plt.MultipleLocator(2))
ax.grid(ls='--',lw=0.6)
ax.set_ylabel('等级',labelpad=10)
ax.set_xlabel('品牌',labelpad=10)
ax.set_xlim(ax.get_xlim())
ax.set_ylim(ax.get_ylim())

sizes = []
for size in [30,60,90,120]:
    sizes.append(ax.scatter(100,100,s=size,color='k',alpha=0.5)) #手动绘制三个点,传入legend函数
p2 = ax.legend(handles=sizes,labels=[str(i//30) for i in [30,60,90,120]],loc=(1.02,0.5),
               fontsize=9,frameon=False)  
ax.add_artist(p1)

plt.show()
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值