Example #1
0
def sandiandayinziti():
    '''散点打印字体'''

    scatter = Scatter("散点图示例")
    v1, v2 = scatter.draw("./img.PNG")
    scatter.add("散点图打印文字", v1, v2, is_random=True)
    scatter.render('./info/散点图打印文字.html')
Example #2
0
def test_scatter_xaxis_type_category():
    scatter = Scatter("散点图示例")
    scatter.add("A", ["a", "b", "c", "d", "e", "f"], v2)
    scatter.add("B", ["a", "b", "c", "d", "e", "f"],
                v1[::-1],
                xaxis_type="category")
    assert '"type": "category"' in scatter._repr_html_()
Example #3
0
def test_scatter_xaxis_type_category():
    scatter = Scatter("散点图示例")
    scatter.add("A", ["a", "b", "c", "d", "e", "f"], v2)
    scatter.add(
        "B", ["a", "b", "c", "d", "e", "f"], v1[::-1], xaxis_type="category"
    )
    assert '"type": "category"' in scatter._repr_html_()
Example #4
0
def test_scatter_extra_name():
    def custom_formatter(params):
        return params.value[3]

    data = [[28604, 77, 17096], [31163, 77.4, 27662], [1516, 68, 11546]]
    x_lst = [v[0] for v in data]
    y_lst = [v[1] for v in data]
    extra_data = [v[2] for v in data]
    extra_name = ["point A", "point B", "point C"]
    sc = Scatter()
    sc.add(
        "scatter",
        x_lst,
        y_lst,
        extra_data=extra_data,
        extra_name=extra_name,
        is_visualmap=True,
        visual_dimension=2,
        visual_orient="horizontal",
        visual_type="size",
        visual_range=[17000, 28000],
        visual_text_color="#000",
        tooltip_formatter=custom_formatter,
    )
    assert "point A" in sc._repr_html_()
    assert "point B" in sc._repr_html_()
    assert "point C" in sc._repr_html_()
Example #5
0
    def tu_Gussian(self,dataname="None",X=None,TrainData=None,choice=12):

    #测试数据集
        if X==None:
            X,y=make_blobs(n_samples=100,n_features=3,centers=[[3,3, 3], [0,0,0], [1,1,1], [2,2,2]], cluster_std=[0.2, 0.1, 0.2, 0.2],
                              random_state =9)
        n=X.shape[1]
        m=X.shape[0]
        if TrainData==None:
            col=np.random.randint(0,1,(98,1))
            col2=np.random.randint(1,2,(2,1))
            TrainData=np.column_stack((X,np.row_stack((col,col2))))
    #高斯模型
        mu1,sigms1=self.estimateGaussion(X)
        if choice==1:
            px_one=gaussian(sigms1,X,mu1)
            if n<=10:
                scatter=Scatter("featurn")
                for j in range(0,n):
                    scatter.add(str(j),X[:,j],px_one[:,j])

        else:
            px_one=self.multivariateGaussian(X,mu1,sigms1)
            scatter=Scatter("featurn")
            def f(x):
                y=1
                for i in range(n):
                    y=y*x[i]
                return y

            scatter.add("总体分布",map(f,X),px_one)

        #交叉验证,取得最好epsilon
        len = TrainData.shape[1]

        Xval=TrainData[:,0:-1]
        Yval=TrainData[:,-1]

        pvals=[]                       #各个特征值的概率相乘
        if choice==1:
            pval=gaussian(sigms1,Xval,mu1)
            for i in range(0,m):
                pvals.append(reduce(mul,pval[i,:]))
        else:
            pvals=self.multivariateGaussian(Xval,mu1,sigms1)

        epsilon,F1=self.selectThreshold(Yval,pvals)

        yc=[0]              #异常点为0

        def filteryc(x):
            return x[n-1]  in yc
        newdata=filter(filteryc,X)
        save_helper.save_txt_helper(newdata,dataname)
        outliers=np.where(px_one<epsilon)
        scatter2=ksh.ksh_scatter("离散点异常分布图","正常点",X,"FG","异常点",X[outliers])
        self.page.add(scatter)
        self.page.add(scatter2)

        save_helper.save_tu_helper(self.page,dataname)
Example #6
0
def test_grid_four_direction():
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, width=1200, title_pos="65%")
    bar.add("商家A", CLOTHES, v1, is_stack=True)
    bar.add("商家B", CLOTHES, v2, is_stack=True, legend_pos="80%")
    line = Line("折线图示例")
    line.add("最高气温", WEEK, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", WEEK, [1, -2, 2, 5, 3, 2, 0],
             mark_point=["max", "min"], mark_line=["average"],
             legend_pos="20%")
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
    scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
    es = EffectScatter("动态散点图示例", title_top="50%")
    es.add("es", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6, legend_top="50%", legend_pos="20%")

    grid = Grid()
    grid.add(bar, grid_bottom="60%", grid_left="60%")
    grid.add(line, grid_bottom="60%", grid_right="60%")
    grid.add(scatter, grid_top="60%", grid_left="60%")
    grid.add(es, grid_top="60%", grid_right="60%")
    grid.render()
Example #7
0
def main():

    dutPl0 = []
    dutpl1 = []
    maxCntPl0 = []
    maxCntPl1 = []
    page = Page("Cluster Padding Figure")
    txtFiles = [name for name in os.listdir('./') if name.endswith('.txt')]
    for textLogName in txtFiles:
        waferNum = re.split(r'_', textLogName)
        with open(textLogName, 'rt') as clusterFile:
            for line in clusterFile:
                if re.match(r'IncomingBBKCount[A-Za-z0-9_.\+\-\*\/\s]*BBKP', line):
                    splitColon  = re.split(r'\s*[:]\s*', line)
                    splitColon1 = splitColon[0]
                    splitColon2 = splitColon[1]
                    splitColon3 = splitColon[2]
                    listBlk     = re.split(r'\s*[\s]\s*', splitColon3)
                    padBlk = paddingBlk(listBlk)
                    maxCnt = clusterBlk(padBlk)
                    splitSpace = re.split(r'\s*[\s]\s*', splitColon1)
                    intDut = int(splitSpace[1].replace('DUT', ''))
                    if splitSpace[2] == "BBKP0":
                        dutPl0.append(intDut)
                        maxCntPl0.append(maxCnt)
                    else:
                        dutpl1.append(intDut)
                        maxCntPl1.append(maxCnt)
        scatter = Scatter(waferNum[2])
        scatter.add("PL0", dutPl0, maxCntPl0, xaxis_name = "DUT", yaxis_name = "Max Padding BB", is_more_utils = True)
        scatter.add("PL1", dutpl1, maxCntPl1, xaxis_name = "DUT", yaxis_name = "Max Padding BB", is_more_utils = True)
        page.add(scatter)
    page.render()
Example #8
0
def Scatter_creater():
    max_axis_value = max(max(ControlSample), max(KnockOutSample))
    scatter = Scatter('OMG', width=800, height=600)
    scatter.add('gene',
                ControlSample,
                KnockOutSample,
                extra_name=gene_id,
                xaxis_max=max_axis_value,
                yaxis_max=max_axis_value,
                is_label_emphasis=True,
                label_formatter=lable_formatter,
                symbol_size=8,
                is_datazoom_show=True,
                is_datazoom_extra_show=True,
                datazoom_range=[0, 100],
                datazoom_extra_range=[0, 100],
                datazoom_type='both',
                datazoom_extra_type='both',
                tooltip_formatter=tooltip_formatter,
                extra_data=LogFC,
                is_visualmap=True,
                visual_dimension=2,
                visual_orient='vertical',
                visual_range=[-1, 1],
                visual_range_color=['#50a3ba', '#d94e5d'],
                visual_pos=-5,
                is_toolbox_show=False)
    scatter.show_config()
    return scatter
Example #9
0
def test_grid_four_direction():
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, width=1200, title_pos="65%")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True, legend_pos="80%")
    line = Line("折线图示例")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%")
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
    scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
    es = EffectScatter("动态散点图示例", title_top="50%")
    es.add("es", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6, legend_top="50%", legend_pos="20%")

    grid = Grid()
    grid.add(bar, grid_bottom="60%", grid_left="60%")
    grid.add(line, grid_bottom="60%", grid_right="60%")
    grid.add(scatter, grid_top="60%", grid_left="60%")
    grid.add(es, grid_top="60%", grid_right="60%")
    grid.render()
Example #10
0
def visual_scatter_group_data_by_col(group_data, col_name, page):
    x_value = list(group_data[col_name])
    y_value = list(group_data['rate'])
    scatter = Scatter()
    scatter.add(col_name, x_value, y_value)
    page.add(scatter)
    return page
Example #11
0
def test_scatter_multi_dimension():
    data = [
        [28604, 77, 17096869],
        [31163, 77.4, 27662440],
        [1516, 68, 1154605773],
        [13670, 74.7, 10582082],
        [28599, 75, 4986705],
        [29476, 77.1, 56943299],
        [31476, 75.4, 78958237],
        [28666, 78.1, 254830],
        [1777, 57.7, 870601776],
        [29550, 79.1, 122249285],
        [2076, 67.9, 20194354],
        [12087, 72, 42972254],
        [24021, 75.4, 3397534],
        [43296, 76.8, 4240375],
        [10088, 70.8, 38195258],
        [19349, 69.6, 147568552],
        [10670, 67.3, 53994605],
        [26424, 75.7, 57110117],
        [37062, 75.4, 252847810]
    ]

    x_lst = [v[0] for v in data]
    y_lst = [v[1] for v in data]
    extra_data = [v[2] for v in data]
    sc = Scatter()
    sc.add("scatter", x_lst, y_lst, extra_data=extra_data, is_visualmap=True,
           visual_dimension=2, visual_orient='horizontal',
           visual_type='size', visual_range=[254830, 1154605773],
           visual_text_color='#000')
    sc.render()
Example #12
0
def scatter(title, range_def, data):
    from pyecharts import Scatter

    # import random
    # data = [random.randint(0, 100) for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter = Scatter(
        title,
        width=400,
        height=300,
        background_color='#b0bab9',
    )
    scatter.add("",
                range(len(data)),
                data,
                visual_range=range_def,
                is_visualmap=True,
                visual_range_color=range_color,
                mark_line=['average'],
                mark_point=['max', 'min'])

    return scatter.render_embed()
Example #13
0
def test_scatter_multi_dimension():
    data = [[28604, 77, 17096869], [31163, 77.4, 27662440],
            [1516, 68, 1154605773], [13670, 74.7, 10582082],
            [28599, 75, 4986705], [29476, 77.1, 56943299],
            [31476, 75.4, 78958237], [28666, 78.1, 254830],
            [1777, 57.7, 870601776], [29550, 79.1, 122249285],
            [2076, 67.9, 20194354], [12087, 72, 42972254],
            [24021, 75.4, 3397534], [43296, 76.8, 4240375],
            [10088, 70.8, 38195258], [19349, 69.6, 147568552],
            [10670, 67.3, 53994605], [26424, 75.7, 57110117],
            [37062, 75.4, 252847810]]

    x_lst = [v[0] for v in data]
    y_lst = [v[1] for v in data]
    extra_data = [v[2] for v in data]
    sc = Scatter()
    sc.add("scatter",
           x_lst,
           y_lst,
           extra_data=extra_data,
           is_visualmap=True,
           visual_dimension=2,
           visual_orient='horizontal',
           visual_type='size',
           visual_range=[254830, 1154605773],
           visual_text_color='#000')
    sc.render()
Example #14
0
def scatter(title, range_def, data, size=None):

    # import random
    # data = [random.randint(0, 100) for _ in range(80)]
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']

    if size is None:
        scatter = Scatter(title,
                          width=320,
                          height=180,
                          title_pos="center",
                          background_color='#b0bab9',
                          )
    else:
        scatter = Scatter(title,
                          width=size['width'],
                          height=size['height'],
                          title_pos="center",
                          background_color='#b0bab9',
                          )

    scatter.add("", range(len(data)), data,
                visual_range_size=range_def,
                is_visualmap=False,
                visual_range_color=range_color,
                mark_line=['average'],
                mark_point=['max', 'min'])

    scatter.options['toolbox']['show'] = False
    return scatter.render_embed()
Example #15
0
def test_scatter_default():
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    html_content = scatter._repr_html_()
    assert '"type": "value"' in html_content
    assert '"type": "category"' not in html_content
Example #16
0
def test_scatter_default():
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    html_content = scatter._repr_html_()
    assert '"type": "value"' in html_content
    assert '"type": "category"' not in html_content
Example #17
0
def draw(generation):
    s = []
    for i in generation:
        s.append(i[1])
    scatter = Scatter('牛顿法')
    # 因为牛顿法收敛很快,所以用横坐标表示不明显,故用次数表示
    scatter.add('', list(range(len(s))), s)
    scatter.render('牛顿法.html')
Example #18
0
def sandiantu():
    '''散点图'''
    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    scatter.render('./info/散点图.html')
Example #19
0
def DrawScatter(title, data, savepath='./results'):
    if not os.path.exists(savepath):
        os.mkdir(savepath)
    scatter = Scatter(title)
    attrs = [i for i, j in data.items()]
    values = [j for i, j in data.items()]
    scatter.add('', attrs, values, is_visualmap=True)
    scatter.render(os.path.join(savepath, '%s.html' % title))
 def DraScatter(self, title, data, savepath='./result'):
     if (os.path.exists(savepath) is None):
         os.mkdir(savepath)
     scatter = Scatter(title)
     attrs = [data[i][0] for i in range(len(data))]
     vals = [data[i][1] for i in range(len(data))]
     scatter.add('', attrs, vals, is_visualmap=True)
     scatter.render(os.path.join(savepath, '%s.html' % title))
Example #21
0
def test_scatter_visualmap_type_size():
    scatter = Scatter("散点图示例")
    scatter.add("B",
                v1[::-1],
                v2,
                is_visualmap=True,
                visual_type='size',
                visual_range_size=[20, 80])
    scatter.render()
Example #22
0
def draw(generator, name):
    scatter = Scatter(name)
    s1 = []
    s2 = []
    for i in generator:
        s1.append(i[0])
        s2.append(i[1])
    scatter.add('', s1, s2)
    scatter.render(name + '.html')
Example #23
0
def draw(generation):
    scatter = Scatter('定点法')
    s = []
    s1 = []
    for i in generation:
        s.append(i[0])
        s1.append(i[1])
    scatter.add('', s, s1)
    scatter.render('定点迭代法.html')
Example #24
0
def draw(generation):
    s1 = []
    s2 = []
    for i in generation:
        s1.append(i[0])
        s2.append(i[1])
    scatter = Scatter('弦截法')
    scatter.add('', s1, s2)
    scatter.render('弦截法.html')
Example #25
0
def scatter():
    from pyecharts import Scatter

    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)

    return template(scatter)
Example #26
0
def tmp():
    es = Scatter()
    x = []
    y = []
    for item in data:
        x.append(item[2])
        y.append(item[3])
    es.add('', x, y)
    es.render('1.html')
    return render_template('1.html')
Example #27
0
def drawlog(dic):
    """

    :param his: keras fit返回的的history对象字典
    :return:
    """
    line = Scatter("log")
    for label, value in dic.items():
        line.add(label, [i for i in range(len(value))], value, symbol_size=3)
    line.render(path="output/temp.html")
Example #28
0
def test_scatter_visualmap_type_size():
    scatter = Scatter("散点图示例")
    scatter.add(
        "B",
        v1[::-1],
        v2,
        is_visualmap=True,
        visual_type="size",
        visual_range_size=[20, 80],
    )
    scatter.render()
Example #29
0
def test_scatter_option(patched):
    fixture = "scatter_options.json"
    patched.return_value = "1"
    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter("scatter test")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    actual_options = dumps_actual_options(scatter.options)
    expected = get_fixture_content(fixture)
    for a, b in zip(actual_options.split("\n"), expected.split("\n")):
        eq_(a.strip(), b.strip())
Example #30
0
 def show(self, class_key: dict, title: str, image_name):
     # print(self.show_coordinates)
     scatter = Scatter(title=title, background_color='#ffe')
     for i in range(0, self.show_coordinates.shape[0]):
         point = self.show_coordinates.iloc[i]['point']
         # print(point, class_key[point])
         coordinates = self.show_coordinates.iloc[i]['vector']
         # print(type(coordinates), type(class_key[point]))
         scatter.add(class_key[point], [coordinates[0]], [coordinates[1]])
     temp_path = 'html/render.html'
     scatter.render(path=temp_path)
     make_a_snapshot(temp_path, image_name)
Example #31
0
 def scatter_demo(self):
     # 散点图
     from pyecharts import Scatter
     scatter = Scatter('散点图', '一年的降水量与蒸发量')
     # xais_name是设置横坐标名称,这里由于显示问题,还需要将y轴名称与y轴的距离进行设置
     scatter.add("降水量与蒸发量的散点分布",
                 self.data1,
                 self.data2,
                 xaxis_name="降水量",
                 yaxis_name="蒸发量",
                 yaxis_name_gap=40)
     scatter.render('sactter.html')
 def scatter(self):
     cmtnum = []
     likenum = []
     timeS = []
     for item in self.data:
         cmtnum.append(item[0])
         likenum.append(item[1])
         d = datetime.fromtimestamp(item[2])
         timeS.append(d.year + d.month / 12)
     y_min = datetime.fromtimestamp(self.createtime_min).year
     y_max = datetime.fromtimestamp(self.createtime_max).year
     scatter = Scatter('本人说说点赞数与评论数的时间序列(二维)')
     scatter.add('评论数',
                 timeS,
                 cmtnum,
                 extra_data=cmtnum,
                 xaxis_max=y_max,
                 xaxis_min=y_min,
                 is_datazoom_extra_show=True,
                 datazoom_extra_type='inside',
                 legend_pos='right',
                 xaxis_name='年份',
                 is_visualmap=True,
                 visual_dimension=2,
                 visual_orient="horizontal",
                 visual_type="size",
                 visual_range=[0, 205],
                 visual_range_size=[5, 20],
                 visual_text_color="#000")
     scatter.add('点赞数',
                 timeS,
                 likenum,
                 extra_data=likenum,
                 xaxis_max=y_max,
                 xaxis_min=y_min,
                 is_datazoom_extra_show=True,
                 datazoom_extra_type='inside',
                 legend_pos='right',
                 xaxis_name='年份',
                 is_visualmap=True,
                 visual_dimension=2,
                 visual_orient="horizontal",
                 visual_type="size",
                 visual_range=[0, 205],
                 visual_range_size=[5, 20],
                 visual_text_color="#000")
     scatter.render(self.path + 'scatter2d_' + str(int(time.time())) +
                    '.html')
     webbrowser.open_new_tab(self.path + 'scatter2d_' +
                             str(int(time.time())) + '.html')
     self.ins.analysis_pb['value'] = 100
     self.ins.analysis_lb.configure(text='完毕')
Example #33
0
    def scatter_echar_AvgArea_price(self):
        x, y = self.getPriceInterval_avg()

        scatter = Scatter("广州市租房平均面积与平均价格关系图")
        scatter.add(
            "平均面积-平均价格",
            x,
            y,
            yaxis_name="平均价格(元)",
            xaxis_name="平均面积(平米)",
            yaxis_name_gap=50,
        )
        scatter.render('scatter_avgAreaPrice.html')
Example #34
0
def test_scatter_option(patched):
    patched.return_value = "1"
    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter("scatter test")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    actual_options = json.dumps(
        scatter.options, sort_keys=True, indent=4, cls=DefaultJsonEncoder
    )
    expected = get_fixture_content("scatter_options.json")
    for a, b in zip(actual_options.split("\n"), expected.split("\n")):
        eq_(a.strip(), b.strip())
Example #35
0
def test_grid_left_right():
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter(width=1200)
    scatter.add("散点图示例", v1, v2, legend_pos="70%")
    es = EffectScatter()
    es.add("动态散点图示例", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6, legend_pos="20%")

    grid = Grid()
    grid.add(scatter, grid_left="60%")
    grid.add(es, grid_right="60%")
    grid.render()
Example #36
0
def test_grid_left_right():
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter(width=1200)
    scatter.add("散点图示例", v1, v2, legend_pos="70%")
    es = EffectScatter()
    es.add("动态散点图示例", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6, legend_pos="20%")

    grid = Grid()
    grid.add(scatter, grid_left="60%")
    grid.add(es, grid_right="60%")
    grid.render()
Example #37
0
def create_scatter(df):
    """
    三维度散点图
    """
    # 生成数据列表
    data = [list(i) for i in zip(df['videos'], df['fans'], df['likes'])]
    print(data)
    # 生成散点图
    x_lst = [v[0] for v in data]
    y_lst = [v[1] for v in data]
    extra_data = [v[2] for v in data]
    sc = Scatter("抖音大V视频数粉丝数点赞数三维度", title_pos='center', title_top='5', width=800, height=400)
    sc.add("", x_lst, y_lst, extra_data=extra_data, is_visualmap=True, visual_dimension=2, visual_orient="horizontal", visual_type="size", visual_range=[0, 500000000], visual_text_color="#000", visual_range_size=[5, 30])
    sc.render('抖音大V视频数粉丝数点赞数三维度.html')
Example #38
0
def test_scatter_option(patched):
    patched.return_value = "1"
    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter("scatter test")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    actual_options = json.dumps(scatter.options,
                                sort_keys=True,
                                indent=4,
                                cls=DefaultJsonEncoder)
    expected = get_fixture_content("scatter_options.json")
    for a, b in zip(actual_options.split("\n"), expected.split("\n")):
        eq_(a.strip(), b.strip())
Example #39
0
def test_overlap_es_scatter():
    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [30, 30, 30, 30, 30, 30]
    v3 = [50, 50, 50, 50, 50, 50]
    v4 = [10, 10, 10, 10, 10, 10]
    es = EffectScatter("Scatter-EffectScatter 示例")
    es.add("es", v1, v2)
    scatter = Scatter()
    scatter.add("scatter", v1, v3)
    es_1 = EffectScatter()
    es_1.add("es_1", v1, v4, symbol='pin', effect_scale=5)

    overlap = Overlap()
    overlap.add(es)
    overlap.add(scatter)
    overlap.add(es_1)
    overlap.render()
Example #40
0
def test_scatter_draw_sexy_black_bra():
    scatter = Scatter("散点图示例", width=1000, height=480)
    v1, v2 = scatter.draw("../images/cup.png")
    scatter.add("Cup", v1, v2, label_color=["#000"])
    scatter.render()
Example #41
0
def test_page_grid_timeline_overlap():
    # Grid
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, width=1200, title_pos="65%")
    bar.add("商家A", CLOTHES, v1, is_stack=True)
    bar.add("商家B", CLOTHES, v2, is_stack=True, legend_pos="80%")
    line = Line("折线图示例")
    line.add(
        "最高气温",
        WEEK,
        [11, 11, 15, 13, 12, 13, 10],
        mark_point=["max", "min"],
        mark_line=["average"],
    )
    line.add(
        "最低气温",
        WEEK,
        [1, -2, 2, 5, 3, 2, 0],
        mark_point=["max", "min"],
        mark_line=["average"],
        legend_pos="20%",
    )
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
    scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
    es = EffectScatter("动态散点图示例", title_top="50%")
    es.add(
        "es",
        [11, 11, 15, 13, 12, 13, 10],
        [1, -2, 2, 5, 3, 2, 0],
        effect_scale=6,
        legend_top="50%",
        legend_pos="20%",
    )

    grid = Grid()
    grid.add(bar, grid_bottom="60%", grid_left="60%")
    grid.add(line, grid_bottom="60%", grid_right="60%")
    grid.add(scatter, grid_top="60%", grid_left="60%")
    grid.add(es, grid_top="60%", grid_right="60%")

    # Timeline
    bar_1 = Bar("2012 年销量", "数据纯属虚构")
    bar_1.add("春季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_1.add("夏季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_1.add("秋季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_1.add("冬季", CLOTHES, [randint(10, 100) for _ in range(6)])

    bar_2 = Bar("2013 年销量", "数据纯属虚构")
    bar_2.add("春季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_2.add("夏季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_2.add("秋季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_2.add("冬季", CLOTHES, [randint(10, 100) for _ in range(6)])

    bar_3 = Bar("2014 年销量", "数据纯属虚构")
    bar_3.add("春季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_3.add("夏季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_3.add("秋季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_3.add("冬季", CLOTHES, [randint(10, 100) for _ in range(6)])

    bar_4 = Bar("2015 年销量", "数据纯属虚构")
    bar_4.add("春季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_4.add("夏季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_4.add("秋季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_4.add("冬季", CLOTHES, [randint(10, 100) for _ in range(6)])

    bar_5 = Bar("2016 年销量", "数据纯属虚构", height=720, width=1200)
    bar_5.add("春季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_5.add("夏季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_5.add("秋季", CLOTHES, [randint(10, 100) for _ in range(6)])
    bar_5.add(
        "冬季",
        CLOTHES,
        [randint(10, 100) for _ in range(6)],
        is_legend_show=True,
    )

    timeline = Timeline(is_auto_play=True, timeline_bottom=0)
    timeline.add(bar_1, "2012 年")
    timeline.add(bar_2, "2013 年")
    timeline.add(bar_3, "2014 年")
    timeline.add(bar_4, "2015 年")
    timeline.add(bar_5, "2016 年")

    # Overlap
    attr = ["{}月".format(i) for i in range(1, 13)]
    v1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
    v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
    v3 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]

    bar = Bar(height=720, width=1200)
    bar.add("蒸发量", attr, v1)
    bar.add("降水量", attr, v2, yaxis_formatter=" ml", yaxis_max=250)
    line = Line()
    line.add("平均温度", attr, v3, yaxis_formatter=" °C")

    overlap = Overlap()
    overlap.add(bar)
    overlap.add(line, yaxis_index=1, is_add_yaxis=True)

    page = Page()
    page.add(grid)
    page.add(timeline)
    page.add(overlap)
    page.render()
Example #42
0
def test_scatter_markline_coords():
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2, mark_line_coords=[[10, 10], [30, 30]])
    assert '"coord": [' in scatter._repr_html_()
Example #43
0
def test_scatter_visualmap_default():
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2, is_visualmap=True)
    scatter.render()
Example #44
0
    'legend_top': 'center',
    'is_datazoom_show': True,
    'datazoom_type': 'both',
    'datazoom_range':[0,40],
}
total_num = 0
for i in genre:
    total_num += len(genre[i]['rate'])
#     print(i)
#     print(len(genre[i]['boxoffice']), genre[i]['boxoffice'])
#     print(len(genre[i]['rate']), genre[i]['rate'])
#     print(len(genre[i]['title']), genre[i]['title'])
#     print(len(genre[i]['rate_quantity']), genre[i]['rate_quantity'])
#     print('===============================')
    scatter.add(i, genre[i]['boxoffice'], genre[i]['rate'], **other_setting, extra_name=genre[i]['title'], 
                xaxis_name='票房(亿)', yaxis_name='评分', yaxis_name_gap=20,yaxis_min=2, symbol_size=5, 
                label_formatter='{c}', is_label_emphasis=True, is_toolbox_show=False)#  xaxis_name_gap=80, 
print('该图电影总数',total_num)
scatter#.render('电影评分-票房.html')


# 上图是 电影豆瓣评分-票房 散点图,用点的颜色表现了不同电影类型,包括了2018年国内上映电影中同时有豆瓣评分和票房数据的291部。
# 
# 由于很多类型的电影数量较少,因此将部分类型定为‘其它’。一部电影通常具有多个类型,在分析时,电影类型的确定方法为:按照每一部电影豆瓣上类型的先后顺序,选择顺序最前且不是‘其它’类型的类型;若该电影所有类型都在‘其它’类型中,将此电影归类为其它。
# 
# 电影票房较高,超过10亿时,其豆瓣评分都在五分及以上;而电影票房较少的电影(小于1亿)豆瓣评分和票房基本无关。

# In[10]:


count = 0
Example #45
0
def test_scatter_draw__hot_red_bra():
    scatter = Scatter("散点图示例", width=1000, height=480)
    v1, v2 = scatter.draw("../images/cup.png")
    scatter.add("Cup", v1, v2)
    scatter.render()
Example #46
0
def test_grid():

    # grid_0
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, is_grid=True)
    bar.add("商家A", attr, v1, is_stack=True, grid_bottom="60%")
    bar.add("商家B", attr, v2, is_stack=True, grid_bottom="60%")
    line = Line("折线图示例", title_top="50%")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_top="50%")
    bar.grid(line.get_series(), grid_top="60%")
    bar.show_config()
    bar.render()

    # grid_1
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter(width=1200, is_grid=True)
    scatter.add("散点图示例", v1, v2, grid_left="60%", legend_pos="70%")
    es = EffectScatter()
    es.add("动态散点图示例", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6, legend_pos="20%")
    scatter.grid(es.get_series(), grid_right="60%")
    scatter.show_config()
    scatter.render()

    # grid_2
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, width=1200, title_pos="65%", is_grid=True)
    bar.add("商家A", attr, v1, is_stack=True, grid_bottom="60%", grid_left="60%")
    bar.add("商家B", attr, v2, is_stack=True, grid_bottom="60%", grid_left="60%", legend_pos="80%")
    line = Line("折线图示例")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%")
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
    scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
    es = EffectScatter("动态散点图示例", title_top="50%")
    es.add("es", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0], effect_scale=6,
           legend_top="50%", legend_pos="20%")
    bar.grid(line.get_series(), grid_bottom="60%", grid_right="60%")
    bar.grid(scatter.get_series(), grid_top="60%", grid_left="60%")
    bar.grid(es.get_series(), grid_top="60%", grid_right="60%")
    bar.show_config()
    bar.render()

    # grid_3
    line = Line("折线图示例", width=1200, is_grid=True)
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"],
             mark_line=["average"], grid_right="65%")
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图示例", title_pos="45%")
    pie.add("", attr, v1, radius=[30, 55], legend_pos="65%", legend_orient='vertical')
    line.grid(pie.get_series(), grid_left="60%")
    line.show_config()
    line.render()

    # grid_4
    line = Line("折线图示例", width=1200, is_grid=True)
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"],
             mark_line=["average"], grid_right="60%")
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%", grid_right="60%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    value = [20, 40, 60, 80, 100, 120]
    v1 = [[2320.26, 2320.26, 2287.3, 2362.94],
          [2300, 2291.3, 2288.26, 2308.38],
          [2295.35, 2346.5, 2295.35, 2345.92],
          [2347.22, 2358.98, 2337.35, 2363.8],
          [2360.75, 2382.48, 2347.89, 2383.76],
          [2383.43, 2385.42, 2371.23, 2391.82],
          [2377.41, 2419.02, 2369.57, 2421.15],
          [2425.92, 2428.15, 2417.58, 2440.38],
          [2411, 2433.13, 2403.3, 2437.42],
          [2432.68, 2334.48, 2427.7, 2441.73],
          [2430.69, 2418.53, 2394.22, 2433.89],
          [2416.62, 2432.4, 2414.4, 2443.03],
          [2441.91, 2421.56, 2418.43, 2444.8],
          [2420.26, 2382.91, 2373.53, 2427.07],
          [2383.49, 2397.18, 2370.61, 2397.94],
          [2378.82, 2325.95, 2309.17, 2378.82],
          [2322.94, 2314.16, 2308.76, 2330.88],
          [2320.62, 2325.82, 2315.01, 2338.78],
          [2313.74, 2293.34, 2289.89, 2340.71],
          [2297.77, 2313.22, 2292.03, 2324.63],
          [2322.32, 2365.59, 2308.92, 2366.16],
          [2364.54, 2359.51, 2330.86, 2369.65],
          [2332.08, 2273.4, 2259.25, 2333.54],
          [2274.81, 2326.31, 2270.1, 2328.14],
          [2333.61, 2347.18, 2321.6, 2351.44],
          [2340.44, 2324.29, 2304.27, 2352.02],
          [2326.42, 2318.61, 2314.59, 2333.67],
          [2314.68, 2310.59, 2296.58, 2320.96],
          [2309.16, 2286.6, 2264.83, 2333.29],
          [2282.17, 2263.97, 2253.25, 2286.33],
          [2255.77, 2270.28, 2253.31, 2276.22]]
    kline = Kline("K 线图示例", title_pos="60%")
    kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)], v1, legend_pos="80%")
    line.grid(kline.get_series(), grid_left="55%")
    line.show_config()
    line.render()

    # grid_5
    import random
    x_axis = ["12a", "1a", "2a", "3a", "4a", "5a", "6a", "7a", "8a", "9a", "10a", "11a",
              "12p", "1p", "2p", "3p", "4p", "5p", "6p", "7p", "8p", "9p", "10p", "11p"]
    y_aixs = ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"]
    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例", height=700, is_grid=True)
    heatmap.add("热力图直角坐标系", x_axis, y_aixs, data, is_visualmap=True, visual_top="45%",
                visual_text_color="#000", visual_orient='horizontal', grid_bottom="60%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", title_top="52%")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True, legend_top="50%")
    heatmap.grid(bar.get_series(), grid_top="60%")
    heatmap.show_config()
    heatmap.render()
Example #47
0
def test_scatter():

    # scatter_0
    v1 = [10, 20, 30, 40, 50, 60]
    v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2)
    scatter.show_config()
    scatter.render()

    # scatter_0_1
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2, is_visualmap=True)
    scatter.show_config()
    scatter.render()

    # scatter_0_2
    scatter = Scatter("散点图示例")
    scatter.add("A", v1, v2)
    scatter.add("B", v1[::-1], v2, is_visualmap=True, visual_type='size', visual_range_size=[20, 80])
    scatter.show_config()
    scatter.render()

    # scatter_1
    scatter = Scatter("散点图示例")
    v1, v2 = scatter.draw("../images/pyecharts-0.png")
    scatter.add("pyecharts", v1, v2, is_random=True)
    scatter.show_config()
    scatter.render()

    # scatter_2
    scatter = Scatter("散点图示例", width=800, height=480)
    v1, v2 = scatter.draw("../images/love.png")
    scatter.add("Love", v1, v2)
    scatter.render()

    # scatter_3
    scatter = Scatter("散点图示例", width=1000, height=480)
    v1, v2 = scatter.draw("../images/cup.png")
    scatter.add("Cup", v1, v2)
    scatter.render()

    # scatter_4
    scatter = Scatter("散点图示例", width=1000, height=480)
    v1, v2 = scatter.draw("../images/cup.png")
    scatter.add("Cup", v1, v2, label_color=["#000"])
    scatter.render()
Example #48
0
def test_scatter_draw_pyecharts():
    scatter = Scatter("散点图示例")
    v1, v2 = scatter.draw("../images/pyecharts-0.png")
    scatter.add("pyecharts", v1, v2, is_random=True)
    scatter.render()
Example #49
0
#散点图适合表现大量样本的多个属性的分布规律。散点图的每个点表示一个样本,每个坐标维度表示一个属性。
from pyecharts import Scatter
import pandas as pd 

dfboy = pd.DataFrame()
dfboy['weight'] = [56,67,65,70,57,60,80,85,76,64]
dfboy['height'] = [162,170,168,172,168,172,180,176,178,170]

dfgirl = pd.DataFrame()
dfgirl['weight'] = [50,62,60,70,57,45,62,65,70,56]
dfgirl['height'] = [155,162,165,170,166,158,160,170,172,165]

scatter = Scatter(title = "体格数据",width = 600,height = 420)
scatter.add(name = "boy", x_axis = dfboy['weight'], y_axis = dfboy['height'])
scatter.add(name = "girl", x_axis = dfgirl['weight'], y_axis = dfgirl['height'],
           yaxis_min = 130,yaxis_max = 200,xaxis_min = 30,xaxis_max = 100)

scatter.render("result.散点图示范.html")

scatter



#当样本属性维度多于2个时,散点图可以使用点的颜色或大小等方式来表达更多属性维度。下面示范使用点的大小表示第3个维度。
def custom_formatter(params):
    return (params.value[3] + ':' +
             str(params.value[0]) +','
             +str(params.value[1]) + ','
             +str(params.value[2]))

df = pd.DataFrame()
Example #50
0
def test_scatter_draw_love():
    scatter = Scatter("散点图示例", width=800, height=480)
    v1, v2 = scatter.draw("../images/love.png")
    scatter.add("Love", v1, v2)
    scatter.render()