给出四大国有银行2018年相关财务和监管指标的排名(见data.xlsx“第二题”工作表)。要求将4家银行各项指标的排名绘制成雷达图并且以2x2子图的形式显示,效果如图所示。

其中data.xlsx如下:

代码实现如下:(注意看注释)

# coding:utf-8
# 作者: 菜菜林妙妙'''当时做的不好的总结:一开始获取数据十分不熟悉,程序获取数据出错,一直报错 然后解bug,花了大半节课才获取到第一题的数据,获取数据混乱主要是因为很多学了很多库,导致搞错了参数,因为有很多操作excel文件的库,因此后面我又认真专门学习了pandas的获取方法其实该题目画图不难,但是一开始的数据花了很多时间,导致后面慌乱,没有设计循环,而是使用冗余的代码该题目只要设置好循环变量就可以把题目使用精简的代码写出来
'''import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
if __name__ == "__main__":# 先设置字体,因为本电脑字体缺失plt.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']plt.rcParams['font.size'] = 12  # 字体大小plt.rcParams['axes.unicode_minus'] = Falsecompany = ['指标','农业银行','建设银行','工商银行','中国银行']#     读取文件:data = pd.read_excel('data.xlsx', sheet_name='第二题', usecols=[1, 2, 3, 4, 5], names=company,header=1)# 控制图的顺序for i in range(1,4):# 交换两列的数据data[company[i]], data[company[i+1]] = data[company[i+1]], data[company[i]]print(data)# 创建画布fig = plt.figure(figsize=(10,10))fig.suptitle("四大国有银行2018年相关财务和监管指标的排名")fig.subplots_adjust(wspace=0.9)  # 设置子图间的间距,为子图宽度的80%# y数据y = []# 颜色color = ['#ff3344','#77ff66','#3399ef','#171aee']# 维度标签radar_labels = list(data['指标'])for i in range(0,len(radar_labels)):radar_labels[i] = radar_labels[i] + '排名'print(radar_labels)# 以下这行可以不需要:因为这边只有6个label,起点和终点不存在显示两次的问题,所以不需要显示两次,就不用以下的代码radar_labels = np.concatenate((radar_labels, [radar_labels[0]]))for i in range(4):y = list(data.iloc[:,i+1])  # data.iloc[]里面:[行:列]  每次取出一列print(y)# 画布ax = fig.add_subplot(2, 2, i + 1, polar=True)# ax = plt.subplot(22(i+1),polar=True)# 划线angles = np.linspace(0, 2 * np.pi, len(y), endpoint=False)# 为了使他封闭angles = np.concatenate((angles, [angles[0]]))# 为了使他封闭y = np.concatenate((y, [y[0]]))# 绘制雷达图ax.plot(angles, y, color='blue',lw=1.0,ls='--')# 设置极坐标标签ax.set_thetagrids(angles * 180 / np.pi, labels=radar_labels)# 设置雷达图的0度起始位置# ax.set_theta_zero_location('N')# 设置雷达图的坐标刻度范围ax.set_rlim(0, 4.02)# 设置雷达图的坐标值显示角度,相对于起始角度的偏移量# ax.set_rlabel_position(270)# 填充多边形ax.fill(angles, y, alpha=0.25,color=color[i])ax.set_title(company[i+1])# 添加中间的0  注意不要漏掉了ax.text(0,0,'0')plt.savefig("雷达图.png")plt.show()

这里注意题目给的图的顺序和要求画的子图顺序不一样,做了一个简单的交换。

matplotlib绘制多个雷达图(包含多个子图):给出四大国有银行2018年相关财务和监管指标的排名,要求将4家银行各项指标的排名绘制成雷达图并且以2x2子图的形式显示相关推荐

  1. 精雕软件怎么把图片转成灰度图_怎么把普通的照片变成浮雕用的灰度图 精雕图 灰度图 浮雕图之间怎么能联系起来使用...

    怎么把普通的照片变成浮雕用的灰度图 用PS啊,里面有这种效果的,若需要帮忙的话,可以加发给我一份啊,尽量帮你哈,呵呵 用 photoshop 把照片变成灰度图,用PS做有很多方法,介绍两种: 方法1: ...

  2. matlab作图m_map,m_map1.4 地理绘图软件,适用于matlab绘制各种 信息图 包含海洋站位图等 Windows Develop 271万源代码下载- www.pudn.com...

    文件名称: m_map1.4下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 658 KB 上传时间: 2017-02-25 下载次数: 0 提 供 者: 郭 ...

  3. 爬取历史天气数据并绘制成折线图

    )要求即为爬取上图中的数据,然后绘制成折线图,要求上面一条是红色. ! import numpy as np import matplotlib.pyplot as plt from bs4 impo ...

  4. python用numpy和pil处理图像成灰度图_「火炉炼AI」机器学习047-图像的直方图均衡化操作...

    [火炉炼AI]机器学习047-图像的直方图均衡化操作 [火炉炼AI]机器学习047-图像的直方图均衡化操作 (本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, sc ...

  5. 彩色BMP转换成灰度图的原理

    图像处理中,大部分的处理方法都需要事先把彩色图转换成灰度图才能进行相关的计算.识别. 彩色图转换灰度图的原理如下: 我们知道彩色位图是由R/G/B三个分量组成,其文件存储格式为 BITMAPFILEH ...

  6. android 轨迹生成图,Android自定义View实现公交成轨迹图

    本文实例为大家分享了Android自定义View实现公交成轨迹图的具体代码,供大家参考,具体内容如下 总体分析下:水平方向recyclewview,item包含定位点,站台位置和站台名称. 下面看实现 ...

  7. 怎样将cad布局导出来_cad布局导出模型(CAD 布局图怎么转换成模型图)

    请教大神cad布局转模型exportlayout命令无法生成新... 用高版本CAD打开需要转的文件,然后用recover命令,输入完命令会提示打开文件,再次选择第一次(需要转换的)文件,此时会从新打 ...

  8. axure 8 表格合并_规范交互原型图包含哪些要素? | 附Axure 模版源文件

    按照常规且科学的产品设计流程,我们在产品设计之初,先要理清楚用户任务流程.从而搭建起信息结构图.再具象化为页面流程图(仅描述每个页面需要包含的信息).进而通过手绘将页面的具体呈现样式描绘在纸上形成纸面 ...

  9. R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot)、均值计算并连接成线图(line plot)

    R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot).均值计算并连接成线图(line plot) ...

最新文章

  1. 自考护理学计算机考试时间,护理学专业2019年10月江苏自考科目及考试时间安排...
  2. spss假设检验_《SPSS操作》--参数/非参数检验
  3. 源哥每日一题第十三弹 百练4124:海贼王之伟大航路 状压dp
  4. d3.js 制作简单的俄罗斯方块
  5. reactor设计模式 1
  6. 关于document.cookie的使用
  7. 华为麦芒9正式亮相:6400万三摄,2199元起
  8. 关于流(文件)的输入,输出与调用(fprintf,fscanf)
  9. 小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
  10. poj 2922 Honeymoon Hike
  11. (转)贝莱德,从零到五万亿
  12. 旅游管理系统告诉你:研学导师人才紧缺
  13. Web 应用程序测试工具
  14. 服务器CPU和普通CPU有什么区别?常用的服务器有六大区别
  15. spell拼音码的写法及语句
  16. python课程改进建议_关于python课程的浅显理解和一些小建议
  17. 接口文档编辑工具+接口文档编写
  18. 且看三星刚发布的Smart TV如何窃听你的枕边细语 - 硅谷路透社
  19. 我的世界服务器额外植物学bug修复,[1.12.2-1.7.10][AnotherCommonBugFix——通用Bug修复]——可修复服务器常见的BUG...
  20. OCJP(1Z0-851) 模拟题分析(一)

热门文章

  1. 双联动listview
  2. 朱江明坚持以客户为本,不断推出新车型
  3. (一)CDA 数据分析师Level1考试新版大纲解析(自己整理)PART 1 数据分析概念与职业操守
  4. 易基因技术推介|全基因组重亚硫酸盐甲基化测序(WGBS)
  5. latex \usepackage{colortbl}包报错option clash for package graphics
  6. kill -15、kill -9 与 kill
  7. 利用censys查询所需要的信息
  8. 梯度下降算法(Gradient Descent)的原理和实现步骤
  9. 【Unity】基于SpriteRenderer的残影/幻影
  10. 微信公众号开发之验证服务器的有效性