本人刚学没多久,刚学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消费人格雷达图相关推荐

  1. python绘制雷达图代码实例-使用python绘制温度变化雷达图

    本文实例为大家分享了python绘制温度变化雷达图的具体代码,供大家参考,具体内容如下 假设某天某地每三个小时取样的气温为 针对温度变化趋势绘制雷达图: 代码如下: import numpy as n ...

  2. Python matplotlib绘制雷达图

    Python matplotlib绘制雷达图 本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指 ...

  3. python制作雷达图_如何利用Python matplotlib绘制雷达图

    本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指标,雷达图几乎随处可见,应用场景非常多. 一. ...

  4. python话雷达图-Python 详解雷达图/蛛网图

    雷达图-pyecharts 蛛网图,最早知道是在玩FIFA游戏的时候,球员的能力用蛛网图来表示与比较,那时觉得非常新鲜.后来,在实际的工作中,其实很少用到:一方面,直接提供蛛网图的工具少:另一方面,过 ...

  5. Python+matplotlib使用雷达图技术绘制五角星

    雷达图是一种常用的数据可视化与展示技术,可以把多个维度的信息在同一个图上展示出来,使得各项指标一目了然.本文代码通过绘制五角星演示了polar()函数的用法. 参考代码: 运行效果: -------- ...

  6. python画雷达图-Python 详解雷达图/蛛网图

    雷达图-pyecharts 蛛网图,最早知道是在玩FIFA游戏的时候,球员的能力用蛛网图来表示与比较,那时觉得非常新鲜.后来,在实际的工作中,其实很少用到:一方面,直接提供蛛网图的工具少:另一方面,过 ...

  7. python数据可视化雷达图程序_Python数据可视化之matplotlib

    常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...

  8. 【Python】绘制雷达图

    之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不 ...

  9. python夹角余弦雷达图_性能可靠,可以全方位扫描的“千里眼”——先进的相控阵雷达...

    今天继续来给大家介绍和雷达有关的知识,来聊一聊相控阵雷达,关于相控阵雷达,想必大家在平时也经常能听到,像什么有源相控阵雷达.无缘相控阵雷达这些,那么,问题来了,什么是相控阵雷达呢?它与传统的雷达之间存 ...

最新文章

  1. java intent 传递集合对象_Intent之对象传递(Parcelable传递对象和对象集合)
  2. c++中的变量作用范围
  3. 计算机基础与应用23页思考与实训,《计算机基础与应用》实训作业三
  4. 选择51cto.com
  5. Chrome浏览器插件Json浏览与编辑神器
  6. 逃离裁员:程序员在云时代的生存之道
  7. boost原理与sklearn源码_机器学习sklearn系列之决策树
  8. 笔记:Microservices for Java Developers
  9. QQ for Linux 复活,微信 for Linux 还远吗?
  10. Linux 防火墙安装包下载,IPFire 2.23 Core Update 138 发布下载,Linux开源防火墙发行版...
  11. windows查看linux文件工具,「实用工具」介绍几款Windows系统与Linux服务器传递文件的工具...
  12. 计算机构成教学反思,计算机教学反思
  13. keil中设置的flash(irom)的起始地址为0x08000000,这个0x08000000的意义------stm32地址映射图解析
  14. 嵌入式编程软件基础汇总1
  15. 【C#】操作局域网共享文件夹文件,将本地文件复制到共享文件夹
  16. 彩色图像的直方图绘制
  17. 该怎么用pyqt5来实现数据的增、删、改、查功能...
  18. [编程题]神奇的口袋 - Java
  19. STM32 CANbootloader 升级功能开发(3)逻辑功能开发
  20. 数据结构:求两个有序列表的交集,并集

热门文章

  1. 电子教室的多媒体互动教学
  2. L1-6 福到了 (模拟)
  3. BN层的解释说明(包含梯度消失和梯度爆炸的原理及解决方法)
  4. 汇川AM401非标准协议通讯socket_client
  5. Selenium2Library库中没有系统关键字select window by handle咋办?
  6. Cisco NAC介绍
  7. ubuntu18远程桌面
  8. 安卓手机可以运行linux程序吗,重磅!安卓系统也能运行PC程序了,实测效果令人惊在当场!...
  9. 淘宝API接口,Onebound数据
  10. PCF8591芯片的AD/DA转换(适用于蓝桥杯单片机)