权重值可视化-附论文配色

权重可视化

论文写作过程中碰到特征权重可视化的问题,简单复现一下

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')

data = []
for i in range(5):
    df = pd.read_excel('权值2.xlsx',sheet_name='Sheet'+str(i+1),header=0)
    df.set_index(df['Type'])
    data.append(df)
#     data[i]=data[i].set_index(data[i]['Type'])
data0 = pd.merge(data[0],data[1],on = 'Type')
data1 = pd.merge(data0,data[2],on = 'Type')
data2 = pd.merge(data1,data[3],on = 'Type')
data3 = pd.merge(data2,data[4],on = 'Type')
data3.columns=['Type','Weihai','Qingdao','Rizhao','Weifang','Yantai']
data3 = data3.set_index(data3['Type'],drop = True)
data3.index
x = data3.index
y = data3['Weihai'].values
plt.bar(x, y)
ylim = range(0,1)
plt.show()

在这里插入图片描述

# waters = feat_importances3.nlargest(13).index
waters = data3.index
buy_number_male = data3['Qingdao'].values
buy_number_male1 = data3['Rizhao'].values
buy_number_male2 = data3['Weifang'].values
buy_number_male3 = data3['Weihai'].values
buy_number_male4 = data3['Yantai'].values
# buy_number_male = feat_importances.nlargest(13)

bar_width = 0.18  # 条形宽度
index_male = np.arange(len(waters))
index_male1 = index_male + bar_width  
index_male2 = index_male1 + bar_width
index_male3 = index_male2+ bar_width
index_male4 = index_male3 + bar_width

# 使用两次 bar 函数画出两组条形图
plt.figure(figsize=(15,5),dpi=500)

plt.bar(index_male, height=buy_number_male, width=bar_width, color='#2878b5', label='Qngdao')
plt.bar(index_male1, height=buy_number_male1, width=bar_width, color='#943c39', label='Rizhao')
plt.bar(index_male2, height=buy_number_male2, width=bar_width, color='#FFBE7A', label='Weifang')
plt.bar(index_male3, height=buy_number_male3, width=bar_width, color='#FA7F6F', label='Weihai')
plt.bar(index_male4, height=buy_number_male4, width=bar_width, color='#9E9E9E', label='Yantai')


plt.legend()# 显示图例
# plt.axhline(0.05,color='#8ECFC9',label = 'Feat-imp=0.05')
plt.legend()# 显示图例
plt.xticks(index_male + 2*bar_width, waters)  # 让横坐标轴刻度显示 waters 里的饮用水, index_male + bar_width/2 为横坐标轴刻度的位置
plt.ylabel('Feat-importances')  # 纵坐标轴标题
plt.xlabel('Feature')  # 图形标题

plt.show()

在这里插入图片描述

附录一:直接修改

data0 = pd.DataFrame(feat_importances.nlargest(14))
data0.reset_index(inplace=True)
data1 = pd.DataFrame(feat_importances1.nlargest(14))
data1.reset_index(inplace=True)
data2 = pd.DataFrame(feat_importances2.nlargest(14))
data2.reset_index(inplace=True)
data3 = pd.DataFrame(feat_importances3.nlargest(14))
data3.reset_index(inplace=True)
data4 = pd.DataFrame(feat_importances4.nlargest(14))
data4.reset_index(inplace=True)
data0
data0 = pd.merge(data0,data1,on = 'index')
data1 = pd.merge(data0,data2,on = 'index')
data2 = pd.merge(data1,data3,on = 'index')
data3 = pd.merge(data2,data4,on = 'index')
data3.columns=['Type','Weihai','Qingdao','Rizhao','Weifang','Yantai']
data3 = data3.set_index(data3['Type'],drop = True)
data3

附录二:论文配色问题:

https://zhuanlan.zhihu.com/p/457797561

Color 1

#8ECFC9 #FFBE7A #FA7F6F #82B0D2 #BEB8DC #E7DAD2

Color 2

#2878b5 #9ac9db #f8ac8c #c82423 #ff8884

Color 3

#F27970 #BB9727 #54B345 #32B897 #05B9E2 #8983BF #C76DA2

Color 4

#A1A9D0 #F0988C #B883D4 #9E9E9E #CFEAF1 #C4A5DE #F6CAE5 #96CCCB

Color 5

Color 6

系列色——十六进制颜色码:
63b2ee - 76da91 - f8cb7f - f89588 - 7cd6cf - 9192ab - 7898e1 - efa666 - eddd86 - 9987ce - 63b2ee - 76da91
系列色——RGB颜色值:
(99,178,238)-(118,218,145)-(248,203,127)-(248,149,136)-(124,214,207)-(145,146,171)-(120,152,225)-(239,166,102)-(237,221,134)-(153,135,206)-(99,178,238)-(118,218,145)

Color 7

系列色——十六进制颜色码:
3b6291 - 943c39 - 779043 - 624c7c - 388498 - bf7334 - 3f6899 - 9c403d - 7d9847 - 675083 - 3b8ba1 - c97937
系列色——RGB颜色值:
(59,98,145)-(148,60,57)-(119,144,67)-(98,76,124)-(56,132,152)-(191,115,52)-(63,104,153)-(156,64,61)-(125,152,71)-(103,80,131)-(59,139,161)-(201,121,55)

Color 8

系列色——十六进制颜色码:
002c53 - ffa510 - 0c84c6 - ffbd66 - f74d4d - 2455a4 - 41b7ac
系列色——RGB颜色值:
(0,44,83)-(255,165,16)-(12,132,198)-(255,189,102)-(247,77,77)-(36,85,164)-(65,183,172)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值