Esempio n. 1
0
def calendar_label_setting() -> Calendar:
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 25000)
    ] for i in range((end - begin).days + 1)]

    c = (Calendar().add(
        "",
        data,
        calendar_opts=opts.CalendarOpts(
            range_="2017",
            daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),
            monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),
        ),
    ).set_global_opts(
        title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况(中文 Label)"),
        visualmap_opts=opts.VisualMapOpts(
            max_=20000,
            min_=500,
            orient="horizontal",
            is_piecewise=True,
            pos_top="230px",
            pos_left="100px",
        ),
    ))
    return c
Esempio n. 2
0
def calendar_base():
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 25000)
    ] for i in range((end - begin).days + 1)]

    c = (
        Calendar().add(
            "", data,
            calendar_opts=opts.CalendarOpts(range_="2017")).set_global_opts(
                title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
                # 显示工具类
                toolbox_opts=opts.ToolboxOpts(orient="horizontal",
                                              pos_left="80%"),
                visualmap_opts=opts.VisualMapOpts(
                    max_=25000,
                    min_=500,
                    orient="horizontal",
                    is_piecewise=True,
                    pos_top="230px",
                    pos_left="100px",
                ),
            ))
    return c
Esempio n. 3
0
def calendar_base() -> Calendar:
    begin = datetime.date(2018, 1, 1)  #设置起始日期
    end = datetime.date(2019, 12, 31)  #设置终止日期
    data = [
        [str(begin + datetime.timedelta(days=i)),
         random.randint(1000, 25000)]  #设置日期间隔,步数范围
        for i in range((end - begin).days + 1)
    ]
    c = (
        Calendar().add('',
                       data,
                       calendar_opts=opts.CalendarOpts(
                           range_='2019'))  #添加到日历图,指定显示2019年数据
        .set_global_opts(  #设置底部显示条,解释数据
            title_opts=opts.TitleOpts(title='2019年微信步数的情况',
                                      subtitle='From Weix'),
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient='vertical',  #设置垂直显示
                pos_top='230px',
                pos_left='100px',
                is_piecewise=True  #是否连续
            )))

    return c.render('charts1.html')
Esempio n. 4
0
def test_calendar_base(fake_writer):
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [
        [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
        for i in range((end - begin).days + 1)
    ]

    c = (
        Calendar()
        .add("", data, calendar_opts=opts.CalendarOpts(range_="2017"))
        .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            )
        )
    )
    c.render()
    _, content = fake_writer.call_args[0]
    assert_equal(c.theme, "white")
    assert_equal(c.renderer, "canvas")
Esempio n. 5
0
def set_my_calendar(data) -> Calendar:
    """日历图"""
    year = datetime.now().strftime('%Y')
    Begin = date(int(year), 1, 1)
    End = date(int(year), 12, 31)
    data = data
    calendar = (
        Calendar()
            .add('我的文章发布统计', yaxis_data=data,
                 calendar_opts=opts.CalendarOpts(range_=year,pos_left="10%",pos_right="8%",pos_top="15%"))
            .set_global_opts(
            title_opts=opts.TitleOpts(title='云博网站文章发布每日统计',pos_left="center"),
            legend_opts=opts.LegendOpts(is_show=False),
            visualmap_opts=opts.VisualMapOpts
                (
                min_=0,
                max_=10,
                orient='horizontal',
                is_piecewise=True,
                pos_top='center',
                pos_left="center",
            ),
        )
    )
    return calendar
Esempio n. 6
0
def calendar_base():
    # 创建数据
    begin = datetime.date(2017, 1, 1)  # 输出结果2017-01-01
    end = datetime.date(2017, 12, 31)  # 输出结果2017-12-31
    # 生成日期和对应的数据,日期是字符串,数据是int
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 25000)
    ] for i in range((end - begin).days + 1)]

    # 绘制日历图
    calendar = (
        # 日历图实例
        Calendar()
        # 添加数据
        .add("", data, calendar_opts=opts.CalendarOpts(range_="2017"))
        # 设置全局配置
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            ),
        ))
    return calendar
Esempio n. 7
0
 def genCalendar(self,data = None, year='2017',title='Calendar示例',subtitle =''):
     '''
     日历表
     param year 指定的年的日历
     param data 日期和统计的数量 [('2020-01-01',300),('2020-01-02',200)]
     '''
     if not data:
         import random
         begin = datetime.date(2017, 1, 1)
         end = datetime.date(2017, 12, 31)
         data = [
             [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
             for i in range((end - begin).days + 1)
         ] 
     c = (
         Calendar()
         .add("", data, calendar_opts=opts.CalendarOpts(range_=year))
         .set_global_opts(
             title_opts=opts.TitleOpts(title=title,subtitle=subtitle),
             visualmap_opts=opts.VisualMapOpts(
                 max_=10000,
                 min_=0,
                 orient="horizontal",
                 is_piecewise=True,
                 pos_top="230px",
                 pos_left="100px",
             ),
         )
     )
     c.render()
     chart_name = f'static/chart{self.index}_calendar'
     make_snapshot(snapshot,c.render(f'{chart_name}.html'),f'{chart_name}.png',is_remove_html=True)
     self.index += 1
def calendar_plot(df):
    """[summary]

    Parameters
    ----------
    df : [type]
        [description]
    """

    #begin = datetime.date(2020, 2, 9)
    #end = datetime.date(2020,11,11)
    begin = df.Fecha.min()
    end = df.Fecha.max()

    c = (
        Calendar(init_opts=opts.InitOpts(width="1000px", height="300px"))
        .add(
            series_name="",
            yaxis_data=[[str(x),y] for x,y in zip(df.Fecha, df['Nuevos casos'])],
            calendar_opts=opts.CalendarOpts(
                pos_top="120",
                pos_left="30",
                pos_right="30",
                range_="2020",
                yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),
            ),
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(pos_top="20", pos_left="center", title="2020: Evolución del Covid19 en Andalucía"),
            visualmap_opts=opts.VisualMapOpts(
                max_=df['Nuevos casos'].max(), min_=0, orient="horizontal", is_piecewise=False
            ),
        )
    )   
    st_pyecharts(c)
Esempio n. 9
0
def News_num_per_day():
    records3 = collection1.find({})
    for record3 in records3:
        time = record3['time'].split(' ')
        for day in range(1, 32):
            if day < 10:
                date = '07-0%d' % day
            else:
                date = '07-%d' % day
            if date == time[0]:
                date_final[day - 1] += 1
    print(date_final)

    begin = datetime.date(2019, 7, 1)
    end = datetime.date(2019, 7, 31)
    data3 = [[str(begin + datetime.timedelta(days=i)), date_final[i]]
             for i in range((end - begin).days + 1)]

    calendar = (Calendar(
        init_opts=opts.InitOpts(width='600px', height='800px')).add(
            "",
            data3,
            calendar_opts=opts.CalendarOpts(
                range_=['2019-06-01', '2019-08-31'])).set_global_opts(
                    title_opts=opts.TitleOpts(title="2019年7月每日发布转会新闻数量",
                                              pos_left='15%'),
                    visualmap_opts=opts.VisualMapOpts(
                        max_=120,
                        min_=0,
                        orient="horizontal",
                        is_piecewise=False,
                        pos_top="230px",
                        pos_left="100px",
                        pos_right="10px")).render('日期热力图.html'))
def calendar_base() -> Calendar:
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)

    # [['2017-01-01', 3109], ['2017-01-02', 15849], ['2017-01-03'
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 25000)
    ] for i in range((end - begin).days + 1)]

    # print(np.shape(data))
    # print(data)

    c = (
        Calendar().add(
            "2017", data,
            calendar_opts=opts.CalendarOpts(range_="2017")).set_global_opts(
                title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
                visualmap_opts=opts.VisualMapOpts(
                    max_=20000,
                    min_=500,
                    orient="horizontal",  # 图标是横放还是竖放
                    is_piecewise=True,  # 拆不拆分图标
                    pos_top="230px",
                    pos_left="100px",
                ),
            ))
    return c
def calendar_in_Chinese():
    calendar = Calendar(
        init_opts=opts.InitOpts(theme='light', width='1000px', height='600px'))
    calendar.add(
        '确证人数',
        yaxis_data=data,
        label_opts=opts.LabelOpts(is_show=True),
        calendar_opts=opts.CalendarOpts(
            # 日期范围
            range_=['2020-01-21', '2020-04-30'],
            # 日历单元格尺寸
            cell_size=50,
            # 年月日标签样式设置
            # 星期和月份设置为中文显示,默认是英文
            yearlabel_opts=opts.CalendarYearLabelOpts(margin=50),
            daylabel_opts=opts.CalendarDayLabelOpts(name_map='cn'),
            monthlabel_opts=opts.CalendarMonthLabelOpts(name_map='cn')))
    # 设置视觉组件
    calendar.set_global_opts(visualmap_opts=opts.VisualMapOpts(
        max_=1000000,
        is_piecewise=True,
        pieces=[{
            "min": 1000000
        }, {
            "min": 10000,
            "max": 1000000
        }, {
            "min": 100,
            "max": 10000
        }, {
            "max": 100
        }],
        range_color=["#CCD3D9", "#E6B6C2", "#D4587A", "#DC364C"]))
    return calendar
Esempio n. 12
0
def calendar_base() -> Calendar:
    begin = datetime.date(2020, 1, 19)  #设置起始日期
    end = datetime.date(2020, 5, 19)  #设置终止日期
    n = "dataSets\\countrydata.csv"
    data = pd.read_csv(n)
    data = data[data['countryName'] == country_name]
    date_list = list(data['dateId'])
    date_list = list(map(lambda x: str(x), date_list))
    confirm_list = list(data['confirmedIncr'])
    data = [
        [str(begin + datetime.timedelta(days=i)),
         confirm_list[i]]  #设置日期间隔,步数范围
        for i in range((end - begin).days - 3)
    ]
    print(len(data))

    c = (
        Calendar().add('',
                       data,
                       calendar_opts=opts.CalendarOpts(
                           range_=['2020-1', '2020-6']))  #添加到日历图,指定显示2019年数据
        .set_global_opts(  #设置底部显示条,解释数据
            title_opts=opts.TitleOpts(title='全国疫情每日新增确诊病例日历图',
                                      subtitle='From Weix'),
            visualmap_opts=opts.VisualMapOpts(
                pieces=[
                    {
                        'min': 13000,
                        'color': '#7f1818'
                    },  #不指定 max
                    {
                        'min': 1000,
                        'max': 10000
                    },
                    {
                        'min': 500,
                        'max': 999
                    },
                    {
                        'min': 100,
                        'max': 499
                    },
                    {
                        'min': 10,
                        'max': 99
                    },
                    {
                        'min': 0,
                        'max': 9
                    }
                ],
                orient='vertical',  #设置垂直显示
                pos_top='230px',
                pos_left='100px',
                is_piecewise=True  #是否连续
            )))
    return c
Esempio n. 13
0
def calendar_draw() -> Calendar:
    begin = datetime.date(2019, 1, 1)
    end = datetime.date(2019, 12, 27)
    data = [[str(begin + datetime.timedelta(days=i)),
             random.randint(1000,25000)]
             for i in range(0, (end - begin).days + 1, 2) #隔天统计
             ]
    calendar = (Calendar(init_opts=opts.InitOpts(width="1200px"))
                 .add("", data, calendar_opts=opts.CalendarOpts(range_="2019"))
                 .set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2019 年步数统计"),
                 visualmap_opts=opts.VisualMapOpts(max_=25000, min_=1000,
                 orient="horizontal", is_piecewise=True, pos_top="230px", pos_left="100px",),
                 )
                 )
    return calendar
Esempio n. 14
0
    def get(self):
        begin = datetime.date(2020, 1, 1)
        end = datetime.date(2020, 12, 31)

        uu_id = self.get_argument('uuid', None)

        accesslist = self.session.query(
            func.date_format(ShorturlOverview.short_url_createTime,
                             '%Y-%m-%d').label('date'),
            func.count(ShorturlOverview.short_url_id)).filter(
                ShorturlOverview.short_url == ShortUrlInfo.short_code).filter(
                    ShortUrlInfo.uuid == uu_id).group_by('date').order_by(
                        'date').all()
        data = []
        for d in accesslist:
            clist_item = []
            clist_item.append(d[0])
            clist_item.append(d[1])
            data.append(clist_item)

        calendar = Calendar()
        calendar.add(
            '',
            data,
            calendar_opts=opt.CalendarOpts(
                range_='2020',
                daylabel_opts=opt.CalendarDayLabelOpts(name_map='en'),
                monthlabel_opts=opt.CalendarMonthLabelOpts(name_map='en'),
            ),
        )

        calendar.set_global_opts(
            title_opts=opt.TitleOpts(
                title='Calendar - The number of clicks per day in 2020'),
            visualmap_opts=opt.VisualMapOpts(
                max_=200,
                min_=1,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            ),
        )

        calendar.render(path=settings['template_path'] + '/calendar.html',
                        encoding='utf-8')
        self.render('calendar.html')
Esempio n. 15
0
def calendar_base() -> Calendar:
    c = (Calendar().add(
        "",
        data,
        calendar_opts=opts.CalendarOpts(
            range_=['2020-01-01', '2020-02-15'])).set_global_opts(
                title_opts=opts.TitleOpts(title="20年1月至今热搜次数"),
                visualmap_opts=opts.VisualMapOpts(
                    max_=7000000,
                    min_=1,
                    orient="horizontal",
                    is_piecewise=False,
                    pos_top="230px",
                    pos_left="100px",
                ),
            ))
    return c
    def calendar_base(self) -> Calendar:
        start = datetime.datetime.now()

        begin = get_date(365)
        end = datetime.date.today() - timedelta(days=465)
        data = []
        cur_day = end
        count = 0
        for event in self.event_list:
            if event.create_time < cur_day:
                data.insert(0, (cur_day, count))
                count = 0
                cur_day -= timedelta(days=1)

            if cur_day < begin:
                break

            if event.create_time == cur_day:
                count += 1

        c = (
            Calendar()
            .add("",
                 data,
                 calendar_opts=opts.CalendarOpts(
                     range_=[begin, end],
                     daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),
                     monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),
                     pos_right="20px"
                 ),
                 )
            .set_global_opts(
                visualmap_opts=opts.VisualMapOpts(
                    max_=501,
                    min_=1,
                    orient="horizontal",
                    is_piecewise=True,
                    pos_left="40px"
                ),
            )
            .dump_options_with_quotes()
        )

        end = datetime.datetime.now()
        print("Calendar: " + str(end - start))
        return c
Esempio n. 17
0
def get_calender_data(request):
    def get_date(days):
        day = (date.today() - timedelta(days=555) - timedelta(days=days))
        return day

    property = Property.objects.get(name=request.GET.get("calender-choice"))
    event_list = Event.objects.filter(property=property)

    start = datetime.datetime.now()

    begin = get_date(365)
    end = datetime.date.today() - timedelta(days=465)
    data = []
    cur_day = end
    count = 0
    for event in event_list:
        if event.create_time < cur_day:
            data.insert(0, (cur_day, count))
            count = 0
            cur_day -= timedelta(days=1)

        if cur_day < begin:
            break

        if event.create_time == cur_day:
            count += 1

    c = (Calendar().add(
        "",
        data,
        calendar_opts=opts.CalendarOpts(
            range_=[begin, end],
            daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),
            monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),
            pos_right="20px"),
    ).set_global_opts(visualmap_opts=opts.VisualMapOpts(
        max_=501,
        min_=1,
        orient="horizontal",
        is_piecewise=True,
        pos_left="40px"), ).dump_options_with_quotes())

    end = datetime.datetime.now()
    print("Calendar: " + str(end - start))
    return HttpResponse(c, content_type='application/json')
Esempio n. 18
0
def calendar_base() -> Calendar:
    begin = datetime.date(2020, 2, 12)
    data = [[str(begin + datetime.timedelta(days=i)), hours[i]]
            for i in range(day)]

    c = (
        Calendar(init_opts=opts.InitOpts(
            width='1200px', height='300px', bg_color='white')).add(
                "", data, calendar_opts=opts.CalendarOpts(
                    range_="2020")).set_global_opts(
                        title_opts=opts.TitleOpts(title="小吴-2020年专注日记",
                                                  subtitle=sub,
                                                  item_gap=2,
                                                  pos_left='center',
                                                  padding=3),
                        visualmap_opts=opts.VisualMapOpts(
                            max_=15,
                            min_=0,
                            orient="horizontal",
                            is_piecewise=True,
                            pos_top="220px",
                            pos_left="center",
                            pieces=[  #github日历图配色
                                {
                                    "min": 12,
                                    "color": '#196127'
                                }, {
                                    "min": 9,
                                    "max": 12,
                                    "color": '#239a3b'
                                }, {
                                    "min": 6,
                                    "max": 9,
                                    "color": '#7bc96f'
                                }, {
                                    "min": 3,
                                    "max": 6,
                                    "color": '#c6e48b'
                                }, {
                                    "max": 3,
                                    "color": '#ebedf0'
                                }
                            ]),
                    ))
    return c
Esempio n. 19
0
def calendar_base(data, year) -> Calendar:
    c = (
        Calendar()
        .add(
            series_name="",
            yaxis_data=data, 
            calendar_opts=opts.CalendarOpts(range_=str(year)))
        .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(
                max_=11,
                min_=1,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            ),
        )
    )
    return c
Esempio n. 20
0
def calendar_example():
    begin = datetime.date(2018, 1, 1)
    end = datetime.date(2019, 1, 1)
    # data = [visualmap_opts
    #     [str(begin + datetime.timedelta(days=i)), random.randint(100, 2500)]
    #     for i in range((end - begin).days)
    # ]
    data = []
    for i in range((end - begin).days):
        temp = [
            str(begin + datetime.timedelta(days=i)),
            random.randint(1000, 25000)
        ]
        data.append(temp)
    # print(data)

    calend = (
        # 设置图的宽高和背景色
        Calendar(init_opts=opts.InitOpts(width='1300px',
                                         height='300px',
                                         bg_color='#7FFFAA',
                                         theme=ThemeType.CHALK)
                 ).add(series_name='',
                       yaxis_data=data,
                       calendar_opts=opts.CalendarOpts(range_='2018')
                       )  # range_决定了时间尺度
        # .add(series_name='', yaxis_data=data, calendar_opts=opts.CalendarOpts(range_=['2018-1', '2018-7']))     # range_决定了时间尺度
        .set_global_opts(
            title_opts=opts.TitleOpts(title='Calendar-2018年微信步数'),
            visualmap_opts=opts.VisualMapOpts(
                max_=25000,
                min_=100,
                range_size=[10, 20],  # 不知道干嘛的
                orient='horizontal',
                is_calculable=True,
                is_piecewise=True,  # 颜色条是否分成pieces:True:pices, False:一根长条
                pos_top='230px',
                pos_left='100px',
                # pos_right='100px',
                # out_of_range=[0,50,100],   # 不知道干嘛的
            ),
        ))
    return calend
Esempio n. 21
0
def drawCalendar(data, year, title, min=0, max=5, filePath='.'):
    """保存日历图"""
    strYear = str(year)
    calendar = (Calendar(
        init_opts=opts.InitOpts(width='1280px', height='350px')).add(
            "", data,
            calendar_opts=opts.CalendarOpts(range_=[year])).set_global_opts(
                title_opts=opts.TitleOpts(title=title),
                visualmap_opts=opts.VisualMapOpts(
                    max_=max,
                    min_=min,
                    orient="horizontal",
                    is_piecewise=True,
                    pos_top="230px",
                    pos_left="100px",
                ),
            ))

    calendar.render(filePath)
Esempio n. 22
0
def calendar_heat_map(data, k) -> Calendar:
    calendar = (Calendar().add(
        "", data,
        calendar_opts=opts.CalendarOpts(range_="2020")).set_global_opts(
            title_opts=opts.TitleOpts(title="user_id:" + k +
                                      " Upload numbers Heat Map"),
            visualmap_opts=opts.VisualMapOpts(orient="horizontal",
                                              is_piecewise=True,
                                              pos_top="230px",
                                              pos_left="100px",
                                              pieces=[{
                                                  "min": 1,
                                                  "max": 5
                                              }, {
                                                  "min": 6,
                                                  "max": 10
                                              }, {
                                                  "min": 11,
                                                  "max": 15
                                              }, {
                                                  "min": 16,
                                                  "max": 20
                                              }, {
                                                  "min": 21,
                                                  "max": 25
                                              }, {
                                                  "min": 26,
                                                  "max": 30
                                              }, {
                                                  "min": 31,
                                                  "max": 40
                                              }, {
                                                  "min": 41,
                                                  "max": 60
                                              }, {
                                                  "min": 61,
                                                  "max": 80
                                              }, {
                                                  "min": 81
                                              }]),
        ))
    return calendar
Esempio n. 23
0
def Calmap(name, data, maxnum, minnum):
    c = (Cal().add(
        "",
        data,
        calendar_opts=opts.CalendarOpts(
            range_="2020",
            daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),
            monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),
        ),
    ).set_global_opts(
        title_opts=opts.TitleOpts(title=name + '疫情日历图'),
        visualmap_opts=opts.VisualMapOpts(
            max_=maxnum,
            min_=minnum,
            orient="horizontal",
            is_piecewise=True,
            pos_top="230px",
            pos_left="100px",
        ),
    ).render(name + '疫情日历图.html'))
def calendar_custom_cell():
    calendar = Calendar(
        init_opts=opts.InitOpts(theme='light', width='1000px', height='600px'))
    calendar.add(
        '确证人数',
        yaxis_data=data,
        label_opts=opts.LabelOpts(is_show=True),
        calendar_opts=opts.CalendarOpts(
            # 日历位置
            pos_top='10%',
            pos_left='10%',
            # 日期范围
            range_=['2020-01-21', '2020-04-30'],
            # 日历单元格尺寸
            cell_size=50,
            # 年月日标签样式设置
            yearlabel_opts=opts.CalendarYearLabelOpts(
                margin=40,
                label_font_size=20,
                label_color='rgba(130,134,112,0.8)'),
            daylabel_opts=opts.CalendarDayLabelOpts(label_color='#778633',
                                                    label_font_weight='bold'),
            monthlabel_opts=opts.CalendarMonthLabelOpts(
                label_color='#778633', label_font_weight='bold')))
    # 设置视觉组件
    calendar.set_global_opts(visualmap_opts=opts.VisualMapOpts(
        max_=1000000,
        is_piecewise=True,
        pieces=[{
            "min": 1000000
        }, {
            "min": 10000,
            "max": 1000000
        }, {
            "min": 100,
            "max": 10000
        }, {
            "max": 100
        }],
        range_color=["#CCD3D9", "#E6B6C2", "#D4587A", "#DC364C"]))
    return calendar
Esempio n. 25
0
def Calendar_base() -> Calendar:
    begin = datetime.date(2018, 1, 1)
    end = datetime.date(2018, 12, 31)
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 25000)
    ] for i in range((end - begin).day + 1)]
    c = (Calendar().add(
        '', data,
        calendar_opts=opts.CalendarOpts(range_="2018")).set_global_opts(
            title_opts=opts.TitleOpts(title="2018模拟步数"),
            visualmap_opts=opts.VisualMapOpts(
                max=20000,
                min=500,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            ),
        ))
    return c
Esempio n. 26
0
def calendar_base():
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 20000)
    ] for i in range((end - begin).days + 1)]

    c = (Calendar().add(
        '', data,
        calendar_opts=opts.CalendarOpts(range_='2017')).set_global_opts(
            title_opts=opts.TitleOpts(title='Calendar-2017 Wechat path'),
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient='horizontal',
                is_piecewise=True,
                pos_top='230px',
                pos_left='100px',
            ),
            toolbox_opts=opts.ToolboxOpts()))

    return c
Esempio n. 27
0
def test_calendar_setting(fake_writer):
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [
        [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
        for i in range((end - begin).days + 1)
    ]

    c = (
        Calendar()
        .add(
            "",
            data,
            calendar_opts=opts.CalendarOpts(
                range_="2017",
                cell_size=15,
                daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),
                monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),
            ),
        )
        .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            )
        )
    )
    c.render()
    _, content = fake_writer.call_args[0]
    assert_in("cellSize", content)
    assert_in("dayLabel", content)
    assert_in("monthLabel", content)
Esempio n. 28
0
begin = datetime.date(2020, 2, 1)
end = datetime.date(2020, 3, 31)

for k in data_.keys():
    times = []
    data = []
    for v in data_[k].values():
        times.append(v)

    for i in range((end - begin).days + 1):
        data.append([str(begin + datetime.timedelta(days=i)), times[i]])

    calendar = (
        Calendar()
            .add("", data, calendar_opts=opts.CalendarOpts(range_="2020"))
            .set_global_opts(
            title_opts=opts.TitleOpts(title="user_id:" + k + " Upload numbers Heat Map"),
            visualmap_opts=opts.VisualMapOpts(
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
                pieces=[{"min": 1, "max": 5}, {"min": 6, "max": 10}, {"min": 11, "max": 15}, {"min": 16, "max": 20},
                        {"min": 21, "max": 25}, {"min": 26, "max": 30}, {"min": 31, "max": 40}, {"min": 41, "max": 60},
                        {"min": 61, "max": 80}, {"min": 81}]

            ),
        )
    )
    name = "uploads_"+k + '.html'
Esempio n. 29
0
from pywebio.output import put_html
import datetime
import random

from pyecharts import options as opts
from pyecharts.charts import Calendar

begin = datetime.date(2017, 1, 1)
end = datetime.date(2017, 12, 31)
data = [[str(begin + datetime.timedelta(days=i)),
         random.randint(1000, 25000)] for i in range((end - begin).days + 1)]

c = (Calendar().add(
    "", data, calendar_opts=opts.CalendarOpts(range_="2017")).set_global_opts(
        title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
        visualmap_opts=opts.VisualMapOpts(
            max_=20000,
            min_=500,
            orient="horizontal",
            is_piecewise=True,
            pos_top="230px",
            pos_left="100px",
        ),
    ))

c.width = "100%"
put_html(c.render_notebook())
Esempio n. 30
0
list1 = []
for date, pm in zip(data['Date'], data['PM2.5']):
    time_list = date.split('-')
    time = datetime.date(int(time_list[0]), int(time_list[1]),
                         int(time_list[2]))
    list1.append([str(time), pm])

calendar = Calendar()

calendar.add(
    '',
    list1,
    calendar_opts=opts.CalendarOpts(
        pos_top="120",
        pos_left="30",
        pos_right="30",
        range_="2017",
        yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),
    ),
)

calendar.set_global_opts(
    title_opts=opts.TitleOpts(pos_top="30",
                              pos_left="center",
                              title="2017年印度德里空气质量情况"),
    visualmap_opts=opts.VisualMapOpts(max_=300,
                                      min_=0,
                                      orient="horizontal",
                                      is_piecewise=False),
)