数据可视化Pyecharts之日历热力图,地理坐标系


日历热力图

  • 实现某商店2018年10月1号至2019年3月1号期间每一天盈利额(产生5000至30000区间的随机数)的数据可视化。
    要求在鼠标放置每个单元格上时显示具体日期和对应数据
import datetime
from pyecharts import HeatMap
#from random import randint
import random


begin = datetime.date(2018,10,1)
end = datetime.date(2019,3,1)
#num = (end-begin).days #计算时间差天数

#date = [randint(5000, 30000) for _ in range(num)]
#print(date)
data = [
[str(begin + datetime.timedelta(days=i)), random.randint(5000, 30000)]
for i in range((end - begin).days + 1)
]
#print(data)
hm = HeatMap("某店2018年至2019年日盈利情况", width=1000,title_pos="center")
hm.add("",data,
   is_calendar_heatmap=True, #启用日历热力图
   is_visualmap=True, #多彩
   calendar_date_range=[begin, end], #设置日历时间段
   visual_range=[5000, 30000],visual_range_text=["盈利低","盈利高"], #设置视觉组件条范围跟文字叙述
   visual_orient="horizontal", #设置组件条横竖,默认竖
   visual_pos="center",visual_top='75%', #设置组件条位置
   calendar_cell_size=["auto", 30], #单元格大小
   tooltip_formatter="{c}", # str类型,{a}=系列名称add第一个参数,{b}=对应的x轴值,{c}=x,y坐标
   )
hm.render("heatmap.html")
  • 生成如图所示,成品链接heatmap.png

地理坐标系

  • 对2018年江苏财政收入排名数据进行地图动态散点图的可视化展示
    要求:

    1. 图片背景色为"#BEE2E7"
    2. 标题颜色、地图边界颜色以及视觉映射组件两端文本颜色全都设置为白色"#fff"
    3. 高亮状态下地图区域的颜色设置为"#CDC3B7"
    4. 动画的波纹最大缩放比设置为3、动画持续时间设置为3(s)

CSV文件下载

import csv
from pyecharts import Geo

attr, value = [], []
with open(r'2018江苏财政收入排名.csv', encoding='gbk') as f:
    reader = csv.reader(f)
    header = next(reader) # 内置函数next(),从迭代器中检索下一个项目
    for row in reader: # (从第二行开始)reader每行是包含字符串的列表['苏州', '2120']
        attr.append(row[0])
        value.append(row[1])

geo = Geo("2018江苏财政收入排名(亿元)",
          title_color="#fff", #标题色
          title_pos="center",
          background_color="#BEE2E7", #背景色
          )
geo.add("",attr,value,
        type="effectScatter", #图例类型,有'scatter', 'effectScatter'动态散点图, 'heatmap'热力图可选动态散点图
        is_visualmap=True,
        visual_range=[206,2120],
        visual_text_color="#fff", #视觉映射组件两端文本颜色
        border_color="#fff", #地图边界颜色
        geo_emphasis_color="#CDC3B7", #高亮状态下地图区域的颜色
        effect_scale=3, #动画中波纹的最大缩放比例。默认为 2.5
        effect_period=3, # 动画持续的时间。默认为 4(s)
        maptype="江苏", #地图类型
        )
geo.render("geo.html")
  • 生成如图所示,成品链接geo.png

声明:芫荽 Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 数据可视化Pyecharts之日历热力图,地理坐标系


天若有情天亦老,人间正道是沧桑!