Python消费人格雷达图
本人刚学没多久,刚学wxpython就做了,分享出来方便初学者也希望大佬提出建议有借鉴学习,原址找不到了,没有列出
**
Python消费人格雷达图
**
一、分析:
用wxpython创建窗口--------》使用按钮来计数选择题答题情况--------》用matplotlib绘制雷达图-------》pyinstaller打包
二、使用的库:
wxpython、numpy、matplotlib、pyinstaller
三、运行效果:
四、代码:
题目放在一个叫timu.txt的文件中,一行一道题(每道题的换行加\n)
import numpy as np
import matplotlib.pyplot as plt
import os
import wxdef CK():global read1global jishuglobal abglobal acglobal adglobal bcglobal bdglobal cdwith open('timu.txt', 'r')as f:read = f.readlines()read1 = []for i in read:read1.append(i.replace(' ', '\n'))jishu = 0ab, ac, ad, bc, bd, cd = 0, 0, 0, 0, 0, 0class MyFrame(wx.Frame):#创建wx.wx.frame的类def __init__(self):super().__init__(parent=None, title='消费人格分析答卷', size=(400, 300))self.Center() # 设置屏幕居中panel = wx.Panel(parent=self)hbox = wx.BoxSizer(wx.HORIZONTAL)vbox1 = wx.BoxSizer(wx.VERTICAL)bt1 = wx.Button(panel, id=1, label='AB')bt2 = wx.Button(panel, id=2, label='AC')bt3 = wx.Button(panel, id=3, label='AD')vbox1.Add(bt1, 1, wx.EXPAND | wx.BOTTOM, 5)vbox1.Add(bt2, 1, wx.EXPAND | wx.BOTTOM, 5)vbox1.Add(bt3, 1, wx.EXPAND | wx.BOTTOM, 5)vbox2 = wx.BoxSizer(wx.VERTICAL)bt4 = wx.Button(panel, id=4, label='BC')bt5 = wx.Button(panel, id=5, label='BD')bt6 = wx.Button(panel, id=6, label='CD')vbox2.Add(bt4, 1, wx.EXPAND | wx.BOTTOM, 5)vbox2.Add(bt5, 1, wx.EXPAND | wx.BOTTOM, 5)vbox2.Add(bt6, 1, wx.EXPAND | wx.BOTTOM, 5)vbox3 = wx.BoxSizer(wx.VERTICAL)self.statictext = wx.StaticText(parent=panel,label='点击任意按钮开始测验\n测验结束后关闭程序生成分析图\n本次测验共十道选择题',style=wx.EXPAND)vbox3.Add(self.statictext, flag=wx.EXPAND)hbox.Add(vbox1, 1, flag=wx.ALIGN_LEFT | wx.EXPAND)hbox.Add(vbox3, 4, flag=wx.ALIGN_CENTER | wx.EXPAND)hbox.Add(vbox2, 1, flag=wx.ALIGN_RIGHT | wx.EXPAND)self.Bind(wx.EVT_BUTTON, self.on_click, id=1, id2=6)panel.SetSizer(hbox)def on_click(self, event):global jishuglobal abglobal acglobal adglobal bcglobal bdglobal cdevent_id = event.GetId()try:self.statictext.SetLabelText(str(read1[int(jishu)]))except:x = [ab, ac, ad, bc, bd, cd]HuiTu(x)if jishu < 11:jishu += 1if event_id == 1:ab += 1elif event_id == 2:ac += 1elif event_id == 3:ad += 1elif event_id == 4:bc += 1elif event_id == 5:bd += 1elif event_id == 6:cd += 1class App(wx.App):#创建wx.app类创建def OnInit(self):#创建 wx.App 的子类并实现 OnInit 函数 -> 创建子类的实例。OnInit 方法中,一般创建至少一个 Frame,并设置为 show。frame = MyFrame()frame.Show()return True#app返回的是个布朗值,返回错误程序停止运行def OnExit(self):print('Tui chu')return 0if __name__ == '__main__':#“__main__”等于当前执行文件的名称(包含了后缀.py)app = App()app.MainLoop()#启动app的mainloop()def HuiTu(x):# ====================绘图=========================# 标签labels = np.array(['外向型消费者', '内向型消费者', '理智型消费者', '情绪型消费者', '独立型消费者', '顺从型消费者'])# 数据个数dataLenth = 6# 数据data = np.array(x)angles = np.linspace(0, 2 * np.pi, dataLenth, endpoint=False)data = np.concatenate((data, [data[0]])) # 闭合 将数据结合起来angles = np.concatenate((angles, [angles[0]])) # 闭合 将数据结合起来fig = plt.figure()ax = fig.add_subplot(111, polar=True) # polar参数!!ax.plot(angles, data, 'o--', linewidth=2) # 画线ax.fill(angles, data, facecolor='b', alpha=0.25) # 填充ax.set_thetagrids(angles * 180 / np.pi, labels, fontproperties="SimHei")ax.set_title("消费人格分析图",fontproperties="SimHei")ax.set_rlim(0, 5)ax.grid(True)plt.show()
def main():global read1global jishuglobal abglobal acglobal adglobal bcglobal bdglobal cdwith open('timu.txt', 'r')as f:read = f.readlines()read1 = []for i in read:read1.append(i.replace(' ', '\n'))jishu = 0x=[]ab, ac, ad, bc, bd, cd = 0, 0, 0, 0, 0, 0CK()
main()
Python消费人格雷达图相关推荐
- python绘制雷达图代码实例-使用python绘制温度变化雷达图
本文实例为大家分享了python绘制温度变化雷达图的具体代码,供大家参考,具体内容如下 假设某天某地每三个小时取样的气温为 针对温度变化趋势绘制雷达图: 代码如下: import numpy as n ...
- Python matplotlib绘制雷达图
Python matplotlib绘制雷达图 本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指 ...
- python制作雷达图_如何利用Python matplotlib绘制雷达图
本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指标,雷达图几乎随处可见,应用场景非常多. 一. ...
- python话雷达图-Python 详解雷达图/蛛网图
雷达图-pyecharts 蛛网图,最早知道是在玩FIFA游戏的时候,球员的能力用蛛网图来表示与比较,那时觉得非常新鲜.后来,在实际的工作中,其实很少用到:一方面,直接提供蛛网图的工具少:另一方面,过 ...
- Python+matplotlib使用雷达图技术绘制五角星
雷达图是一种常用的数据可视化与展示技术,可以把多个维度的信息在同一个图上展示出来,使得各项指标一目了然.本文代码通过绘制五角星演示了polar()函数的用法. 参考代码: 运行效果: -------- ...
- python画雷达图-Python 详解雷达图/蛛网图
雷达图-pyecharts 蛛网图,最早知道是在玩FIFA游戏的时候,球员的能力用蛛网图来表示与比较,那时觉得非常新鲜.后来,在实际的工作中,其实很少用到:一方面,直接提供蛛网图的工具少:另一方面,过 ...
- python数据可视化雷达图程序_Python数据可视化之matplotlib
常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...
- 【Python】绘制雷达图
之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不 ...
- python夹角余弦雷达图_性能可靠,可以全方位扫描的“千里眼”——先进的相控阵雷达...
今天继续来给大家介绍和雷达有关的知识,来聊一聊相控阵雷达,关于相控阵雷达,想必大家在平时也经常能听到,像什么有源相控阵雷达.无缘相控阵雷达这些,那么,问题来了,什么是相控阵雷达呢?它与传统的雷达之间存 ...
最新文章
- java intent 传递集合对象_Intent之对象传递(Parcelable传递对象和对象集合)
- c++中的变量作用范围
- 计算机基础与应用23页思考与实训,《计算机基础与应用》实训作业三
- 选择51cto.com
- Chrome浏览器插件Json浏览与编辑神器
- 逃离裁员:程序员在云时代的生存之道
- boost原理与sklearn源码_机器学习sklearn系列之决策树
- 笔记:Microservices for Java Developers
- QQ for Linux 复活,微信 for Linux 还远吗?
- Linux 防火墙安装包下载,IPFire 2.23 Core Update 138 发布下载,Linux开源防火墙发行版...
- windows查看linux文件工具,「实用工具」介绍几款Windows系统与Linux服务器传递文件的工具...
- 计算机构成教学反思,计算机教学反思
- keil中设置的flash(irom)的起始地址为0x08000000,这个0x08000000的意义------stm32地址映射图解析
- 嵌入式编程软件基础汇总1
- 【C#】操作局域网共享文件夹文件,将本地文件复制到共享文件夹
- 彩色图像的直方图绘制
- 该怎么用pyqt5来实现数据的增、删、改、查功能...
- [编程题]神奇的口袋 - Java
- STM32 CANbootloader 升级功能开发(3)逻辑功能开发
- 数据结构:求两个有序列表的交集,并集