数字热力图

简介:

 

静态单图

复制代码
import numpy as np
import matplotlib.pyplot as plt


# 号码热力图
pre = 49
a = np.random.randint(49, size=pre) + 1 # 模拟前期数据(这里不妨取49)

import collections
c = collections.Counter(a).most_common() # 统计次数

d = np.zeros(49)
for i, x in c:
    d[i-1] = x

image = d.reshape(7,7) # 构造成一个图像

plt.imshow(image, cmap=plt.cm.hot) # 画热力图
plt.colorbar()

#plt.imshow(image, cmap=plt.cm.hot, interpolation="nearest")
#plt.colorbar()

# 为了方便,把号码也对应显示
xx, yy = np.meshgrid(np.arange(7), np.arange(7))
for i, (x, y) in enumerate(zip(xx.flatten(), yy.flatten())):
    c = str(i+1)
    plt.text(x, y, c, va='center', ha='center')
    
plt.show()
复制代码

 

 

另一个动态的热力图

复制代码
import numpy as np
import matplotlib.pyplot as plt

import collections

'''动态号码热力图'''

#plt.imshow(image, cmap=plt.cm.hot, interpolation="nearest")
#plt.colorbar()

# 为了方便,把号码也对应显示
xx, yy = np.meshgrid(np.arange(7), np.arange(7))
for i, (x, y) in enumerate(zip(xx.flatten(), yy.flatten())):
    c = str(i+1)
    plt.text(x, y, c, va='center', ha='center')
    
    
# 根据前面历史数据,构造成一个图像
def build_image(a_list):
    c = collections.Counter(a_list).most_common() # 统计次数

    d = np.zeros(49)
    for i, x in c:
        d[i-1] = x
    
    image = d.reshape(7,7) # 构造成一个图像
    
    return image

    
    
for i in range(100):
    if i == 0:
        # 号码热力图
        pre = 49
        a_list = np.random.randint(49, size=pre) + 1 # 模拟前期数据(这里不妨取49)
        image = build_image(a_list)

        im = plt.imshow(image, cmap=plt.cm.hot) # 画热力图
        plt.colorbar()
    else:
        a_list = np.hstack((a_list[1:], np.random.randint(49)+1))
        image = build_image(a_list)
        
        im.set_data(image)
        
    plt.pause(0.1)
    
复制代码

 

本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5400865.html ,如需转载请自行联系原作者
相关文章
Mac下查看公网以及内网IP地址
Mac下查看公网以及内网IP地址
578 0
|
数据采集 数据可视化 搜索推荐
|
11月前
|
传感器 数据采集 移动开发
基于STM32的智能手环wifi连接手机APP(下)
基于STM32的智能手环wifi连接手机APP(下)
549 0
|
Kubernetes 数据库 容器
k8s安装seata单机版
k8s安装seata单机版
|
SQL 存储 前端开发
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
|
监控
构建高效能团队的敏捷方法论
【5月更文挑战第10天】敏捷方法论助力构建高效能团队,强调个体协作、迭代开发、客户参与和灵活应变。通过选择合适的敏捷框架,建立协作文化,制定明确流程,持续改进,团队能迅速响应市场变化,保证产品竞争力和创新力,促进企业成功和持续发展。
|
存储 安全 网络安全
Pikachu Unsafe Fileupload 通关解析
Pikachu Unsafe Fileupload 通关解析
|
运维 Kubernetes API
ElasticSearch容器化从0到1实践(一)
通过kubernetes集群聚合多个Elasticsearch集群碎片资源,提高运维效率。
QGS
|
Java Linux API
手拉手Javafx案例
手拉手Javafx案例
QGS
245 0
|
存储 安全 前端开发
指纹登录是怎么跑起来的2
指纹登录是怎么跑起来的2
440 0