python处理excel绘制雷达图

yipeiwu_com6年前Python基础

本文实例为大家分享了python处理excel绘制雷达图的具体代码,供大家参考,具体内容如下

python处理excel制成雷达图,利用工具plotly在线生成,事先要安装好xlrd组件

代码:

import xlrd //事先要下载好xlrd组件
import plotly.plotly as py
import plotly.graph_objs as go
from plotly import tools
from plotly.graph_objs import *
tools.set_credentials_file(username='  ', api_key='  ')

fname="**********.xlsx"
df=xlrd.open_workbook(fname)
sh=df.sheet_by_name("Sheet1")
nrows=sh.nrows
ncols=sh.ncols
row_list=[]
for i in range(0,nrows):
 row_data=sh.row_values(i)
 row_list.append(row_data)
col_list=[]
for i in range(0,ncols):
 col_data=sh.col_values(i)
 col_list.append(col_data)


data = [          //数据根据自己的实际情况来
 go.Scatterpolar(
  r = [col_list[1][2],col_list[1][3], col_list[1][4], col_list[1][5], col_list[1][6], col_list[1][7],
  col_list[1][8], col_list[1][9], col_list[1][10], col_list[1][11], col_list[1][12],
  col_list[1][13], col_list[1][14], col_list[1][15], col_list[1][16], col_list[1][17],
  col_list[1][18], col_list[1][19], col_list[1][20], col_list[1][21], col_list[1][22],
  col_list[1][23], col_list[1][24], col_list[1][25], col_list[1][26], col_list[1][27],
  col_list[1][28], col_list[1][29], col_list[1][30], col_list[1][31], col_list[1][32],

  col_list[1][33], col_list[1][34], col_list[1][35], col_list[1][36], col_list[1][37],col_list[1][38]],
  theta = [0,10,20, 30, 40, 50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,0],
  fill = 'toself',
  name = 'TX'
 ),
 go.Scatterpolar(
  r = [col_list[4][2],col_list[4][3], col_list[4][4], col_list[4][5], col_list[4][6], col_list[4][7],
  col_list[4][8], col_list[4][9], col_list[4][10], col_list[4][11], col_list[4][12],
  col_list[4][13], col_list[4][14], col_list[4][15], col_list[4][16], col_list[4][17],
  col_list[4][18], col_list[4][19], col_list[4][20], col_list[4][21], col_list[4][22],
  col_list[4][23], col_list[4][24], col_list[4][25], col_list[4][26], col_list[4][27],
  col_list[4][28], col_list[4][29], col_list[4][30], col_list[4][31], col_list[4][32],
  col_list[4][33], col_list[4][34], col_list[4][35], col_list[4][36], col_list[4][37],col_list[4][38]],
  theta = ['0',10,20, 30, 40, 50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,0],
  fill = 'toself',
  name = 'RX'
 )
]

layout = go.Layout(
 polar = dict(
 radialaxis = dict(
  visible = True,
  range = [0, 110]
 )
 ),
 showlegend = False
)

fig = go.Figure(data=data, layout=layout)
py.plot(fig, filename = "radar")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用python和Django完成博客数据库的迁移方法

使用python和Django完成博客数据库的迁移方法

上一讲完成了基本博客的配置和项目工程的生成。这次开始将博客一些基本的操作主要是数据库方面学习。 1.设计博客数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文...

pandas DataFrame 根据多列的值做判断,生成新的列值实例

pandas DataFrame 根据多列的值做判断,生成新的列值实例

环境:Python3.6.4 + pandas 0.22 主要是DataFrame.apply函数的应用,如果设置axis参数为1则每次函数每次会取出DataFrame的一行来做处理,如...

python 实现方阵的对角线遍历示例

任务描述 对一个方阵矩阵,实现平行于主对角线方向的对角线元素遍历。 从矩阵索引入手: [[ 1 2 3 4 5] [ 6 7 8 9 10] [11 12 13 14 15]...

研究Python的ORM框架中的SQLAlchemy库的映射关系

前面介绍了关于用户账户的User表,但是现实生活中随着问题的复杂化数据库存储的数据不可能这么简单,让我们设想有另外一张表,这张表和User有联系,也能够被映射和查询,那么这张表可以存储关...

使用django-suit为django 1.7 admin后台添加模板

django-grappelli里面使用inline似乎有点儿问题,换一个皮: django-suit是2scoops推荐的第二个admin skin. Supports: Django...