def create_three():
    page = Page(page_title=TEST_PAGE_TITLE)

    # bar
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图数据堆叠示例")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True)
    page.add(bar)

    # scatter3D
    import random
    data = [
        [random.randint(0, 100),
         random.randint(0, 100),
         random.randint(0, 100)] for _ in range(80)
    ]
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    page.add(scatter3d)

    # guangdong
    value = [20, 190, 253, 77, 65]
    attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市']
    map = Map("广东地图示例", width=1200, height=600)
    map.add("", attr, value, maptype='广东', is_visualmap=True,
            visual_text_color='#000')
    page.add(map)

    return page
Exemple #2
0
def create_three():
    page = Page()

    # bar
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图数据堆叠示例")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True)
    page.add(bar)

    # scatter3D
    import random
    data = [
        [random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)
    ]
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=range_color)
    page.add(scatter3d)

    # guangdong
    value = [20, 190, 253, 77, 65]
    attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市']
    map = Map("广东地图示例", width=1200, height=600)
    map.add("", attr, value, maptype='广东', is_visualmap=True,
            visual_text_color='#000')
    page.add(map)

    return page
Exemple #3
0
def create_two_bars():
    page = Page()

    # bar
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图数据堆叠示例")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True)
    page.add(bar)

    # scatter3D
    import random
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    page.add(scatter3D)
    return page
Exemple #4
0
def scatter3d():
    from pyecharts import Scatter3D, Page, Bar

    import random
    page = Page()
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("3D柱状图示例")
    bar.add('商家A', attr, v1)
    bar.add('商家B', attr, v2)
    page.add(bar)
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D 散点图 demo", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    page.add(scatter3D)
    return page.render_embed()
Exemple #5
0
def scatter3d():
    data = [generate_3d_random_point() for _ in range(3)]
    range_color = [
        "#313695",
        "#4575b4",
        "#74add1",
        "#abd9e9",
        "#e0f3f8",
        "#fee090",
        "#fdae61",
        "#f46d43",
        "#d73027",
        "#a50026",
    ]

    # mark_point_list = generate_3d_random_point_with_names(data)
    # scatter3D = Scatter3D("3D scattering plot demo", width=1200, height=600)
    scatter3D = Scatter3D(
        "3D scattering plot demo without settings of width and height")
    scatter3D.add("",
                  data,
                  grid3d_width=200,
                  grid3d_height=200,
                  grid3d_depth=200,
                  xaxis3d_name='Assist',
                  yaxis3d_name='Rebound',
                  zaxis3d_name='Point',
                  is_visualmap=True,
                  visual_range_color=range_color,
                  visual_range=[0, 50])
    return scatter3D
 def scatter3d(self):
     for item in self.data:
         d = datetime.fromtimestamp(item[2])
         item[2] = d.year + d.month / 12
     range_color = [
         '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
         '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
     ]
     y_min = datetime.fromtimestamp(self.createtime_min).year
     y_max = datetime.fromtimestamp(self.createtime_max).year
     scatter3D = Scatter3D('本人说说点赞数与评论数的时间序列', width=1000, height=800)
     scatter3D.add("",
                   self.data,
                   is_visualmap=True,
                   visual_range_color=range_color,
                   visual_dimension=1,
                   visual_range=[0, 70],
                   visual_range_size=[5, 20],
                   xaxis3d_name='评论数',
                   yaxis3d_name='点赞数',
                   zaxis3d_min=y_min,
                   zaxis3d_max=y_max,
                   zaxis3d_name='年份')
     scatter3D.render(self.path + 'scatter3d_' + str(int(time.time())) +
                      '.html')
     webbrowser.open_new_tab(self.path + 'scatter3d_' +
                             str(int(time.time())) + '.html')
     self.ins.analysis_pb['value'] = 100
     self.ins.analysis_lb.configure(text='完毕')
Exemple #7
0
def scatter3d():
    data = [generate_3d_random_point() for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    scatter3D = Scatter3D("3D scattering plot demo", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    return scatter3D
def test_scatter3d():
    import random
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    scatter3d.render()
Exemple #9
0
def test_scatter3d():

    # scatter3D_0
    import random
    data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=range_color)
    scatter3d.render()
Exemple #10
0
 def add3d(self, name, data):
     surface3D = Scatter3D(name, width=1200, height=600)
     surface3D.add(
         "",
         data,
         is_visualmap=True,
         visual_range=[-1000, 4000],
         visual_range_color=self.range_color,
     )
     self.page.add(surface3D)
Exemple #11
0
def test_scatter3d_default(patched):
    fixture = "scatter3d_options.json"
    patched.return_value = "1"

    data = [[1, 1, 1] for _ in range(3)]
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    actual_options = dumps_actual_options(scatter3d.options)
    expected = get_fixture_content(fixture)
    for a, b in zip(actual_options.split("\n"), expected.split("\n")):
        eq_(a.strip(), b.strip())
Exemple #12
0
def scatter3d():

    import random
    data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    scatter3D = Scatter3D(u"【人-任务-日期】分布图", width=600, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)

    scatter3D.options['toolbox']['show'] = False
    return scatter3D.render_embed()
Exemple #13
0
def scatter3d():
    data1 = []
    for course in Course.query.all():
        data = [course.users.count(), course.num, course.comments.count()]
        data1.append(data)
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D scattering plot demo", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    return scatter3D.render_embed()
Exemple #14
0
def create_charts():
    page = Page()

    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    chart = Scatter3D("3D 散点图", width=WIDTH, height=HEIGHT)
    chart.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    page.add(chart)

    return page
def echart3D_tsne(pddata, label, x_title, y_title, z_title, output):
    scatter3D = Scatter3D("T-SNE", width=1200, height=600)
    for lab in set(pddata[label]):
        data = pddata[pddata[label] == lab]
        jsondata = json.loads(data[[x_title, y_title,
                                    z_title]].to_json(orient='values'))
        scatter3D.add(
            str(lab),
            jsondata,
            xaxis3d_name='Component 1',
            yaxis3d_name='Component 2',
            zaxis3d_name='Component 3',
        )
    scatter3D.render(output)
def favorite_coin_share(data):
    scatter3D = Scatter3D("B站视频favorite&coin&share3D散点图",
                          "2018-12-30",
                          width=1400,
                          height=700)
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D.add("收藏+硬币+分享",
                  data,
                  is_visualmap=True,
                  visual_range_color=range_color)
    scatter3D.render(r'fav_coin_share.html')
Exemple #17
0
def view(data):
    from pyecharts import Scatter3D
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    # v1 = [10, 20, 30, 40, 50, 60]
    # v2 = [10, 20, 30, 40, 50, 60]
    scatter = Scatter3D("图像特征数据散点图")
    scatter.add("一阶矩特征散点图",
                data,
                is_visualmap=True,
                visual_range_color=range_color)
    scatter.render()
Exemple #18
0
def get_scatter3D(page):
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D散点示例", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    page.add(scatter3D)
    page.render()
    os.system(r"render.html")
Exemple #19
0
def scatter3d():
    from pyecharts import Scatter3D

    import random
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D scattering plot demo", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    return scatter3D.render_embed()
Exemple #20
0
def scatter3d():
    data = [generate_3d_random_point() for _ in range(80)]
    range_color = [
        "#313695",
        "#4575b4",
        "#74add1",
        "#abd9e9",
        "#e0f3f8",
        "#fee090",
        "#fdae61",
        "#f46d43",
        "#d73027",
        "#a50026",
    ]
    scatter3D = Scatter3D("3D scattering plot demo", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    return scatter3D
Exemple #21
0
def _3dAnalysis():
    csvFile = pd.read_csv("songdata.csv", sep=",")

    # Extract feature matrix (i.e. remove the first three columns)
    feature = csvFile.ix[:, 2:]

    pca = PCA(n_components=3)
    pca.fit(feature)

    feature_new = pca.fit_transform(feature)
    feature_new[:, 0] = [
        feature_new[i][0] / 1e8 for i in range(len(feature_new))
    ]
    feature_new[:, 1] = [
        feature_new[i][1] / 1e7 for i in range(len(feature_new))
    ]
    feature_new[:, 2] = [
        feature_new[i][2] / 1e6 for i in range(len(feature_new))
    ]

    mark_list = []
    name = list(csvFile.ix[:, 1])
    for i in range(len(feature_new)):
        mark_list.append({"coord": list(feature_new[i]), "name": name[i]})
    # visualization
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("Music Classification",
                          width=800,
                          height=600,
                          title_pos='center')
    scatter3D.add("",
                  feature_new,
                  mark_point=mark_list,
                  is_visualmap=True,
                  visual_range_color=range_color,
                  grid3d_opacity=3,
                  visual_pos='left',
                  xaxis3d_name="PCA1",
                  yaxis3d_name="PCA2",
                  zaxis3d_name="PCA3",
                  is_grid3d_rotate=True)
    scatter3D.render("3Dscatter.html")
def create_three():
    # bar
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图数据堆叠示例")
    bar.add("商家A", CLOTHES, v1, is_stack=True)
    bar.add("商家B", CLOTHES, v2, is_stack=True)

    # scatter3D
    import random
    data = [
        [random.randint(0, 100),
         random.randint(0, 100),
         random.randint(0, 100)] for _ in range(80)
        ]
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)

    return Page.from_charts(bar, scatter3d)
Exemple #23
0
def create_three():
    page = Page(page_title=TEST_PAGE_TITLE)

    # bar
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图数据堆叠示例")
    bar.add("商家A", CLOTHES, v1, is_stack=True)
    bar.add("商家B", CLOTHES, v2, is_stack=True)
    page.add(bar)

    # scatter3D
    import random

    data = [
        [
            random.randint(0, 100),
            random.randint(0, 100),
            random.randint(0, 100),
        ]
        for _ in range(80)
    ]
    scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    page.add(scatter3d)

    # guangdong
    value = [20, 190, 253, 77, 65]
    attr = ["汕头市", "汕尾市", "揭阳市", "阳江市", "肇庆市"]
    map = Map("广东地图示例", width=1200, height=600)
    map.add(
        "",
        attr,
        value,
        maptype="广东",
        is_visualmap=True,
        visual_text_color="#000",
    )
    page.add(map)

    return page
def echart3D(pddata, x_title, y_title, z_title, output):
    pddata[pddata[y_title] > 1000] = 0
    data = json.loads(pddata[[x_title, y_title,
                              z_title]].to_json(orient='values'))
    # print(type(data))
    # print(data)
    # data =random.sample(data,100)

    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D GC+LENGTH+COUNT", width=1200, height=600)
    scatter3D.add(
        "gc,length,count",
        data,
        is_visualmap=True,
        visual_range_color=range_color,
        xaxis3d_name='GC(%)',
        yaxis3d_name='Template Length',
        zaxis3d_name='Count',
    )
    scatter3D.render(output)
Exemple #25
0
def scatter3D():
    # select    province, difi_re_num    from REPORT_REG
    # ret = """select city, difi_re_num  from REPORT_REG a, province_to_city b where a.province=b.province"""
    # data_list = exc_sql(ret)
    # attr = [i[0] for i in data_list]
    # value = [i[1] for i in data_list]
    # geo = Geo("全国各地用户注册图", width=1200, height=600)
    # geo.add("各省注册量", attr, value, type="effectScatter", border_color="#ffffff", symbol_size=2,
    #         is_label_show=True, label_text_color="#00FF00", label_pos="inside", symbol_color="yellow",
    #         geo_normal_color="#006edd", geo_emphasis_color="#0000ff")
    # data = {'data': scatter3D.render_embed()}
    # return render(request, 'guo_report.html', data)
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D scattering plot demo", width=500, height=500)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    return scatter3D
Exemple #26
0
def test_more():
    page = Page()

    # line
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line = Line("折线图示例")
    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"])
    page.add(line)

    # pie
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图-圆环图示例", title_pos='center')
    pie.add("",
            attr,
            v1,
            radius=[40, 75],
            label_text_color=None,
            is_label_show=True,
            legend_orient='vertical',
            legend_pos='left')
    page.add(pie)

    # kline
    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 线图示例")
    kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)], v1)
    page.add(kline)

    # radar
    schema = [("销售", 6500), ("管理", 16000), ("信息技术", 30000), ("客服", 38000),
              ("研发", 52000), ("市场", 25000)]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    radar = Radar("雷达图示例")
    radar.config(schema)
    radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
    radar.add("实际开销",
              v2,
              label_color=["#4e79a7"],
              is_area_show=False,
              legend_selectedmode='single')
    page.add(radar)

    # scatter3d
    import random
    data = [[
        random.randint(0, 100),
        random.randint(0, 100),
        random.randint(0, 100)
    ] for _ in range(80)]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
    page.add(scatter3D)

    # wordcloud
    name = [
        'Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World',
        'Charter Communications', 'Chick Fil A', 'Planet Fitness',
        'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham',
        'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham',
        'Rita Ora', 'Serena Williams', 'NCAA baseball tournament',
        'Point Break'
    ]
    value = [
        10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582,
        555, 550, 462, 366, 360, 282, 273, 265
    ]

    wordcloud = WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[30, 100], rotate_step=66)
    page.add(wordcloud)

    # liquid
    liquid = Liquid("水球图示例")
    liquid.add("Liquid", [0.6])
    page.add(liquid)

    page.render()
Exemple #27
0
# -*- coding:utf-8 -*-
from pyecharts import Scatter3D
import random
data = [[
    random.randint(0, 100),
    random.randint(0, 100),
    random.randint(0, 100)
] for _ in range(80)]
range_color = [
    '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
    '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
]
scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
scatter3D.render()
Exemple #28
0
    def tu_pca(self,
               dataname="None",
               components_ratio=None,
               components_n=None,
               data=None):
        if components_n == None:
            components_n = 1

        #返回信息
        message = []
        #3D图参数
        page = Page()
        range_color = [
            '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
            '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
        ]

        #测试数据
        X, y = make_blobs(n_samples=10000,
                          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)
        if data == None:
            data = X

        #如果为3维数据,画出该图
        if (data.shape[1] == 3):
            scatter3D = Scatter3D(dataname)
            scatter3D.add("",
                          X,
                          is_visualmap=True,
                          visual_range_color=range_color)
            html_name = dataname + ".html"
            page.add(scatter3D)

        #pca参数
        pca_ = PCA(n_components=data.shape[1])
        pca_.fit(data)
        ratio = pca_.explained_variance_ratio_
        variance = pca_.explained_variance_
        attr = ["成分" + str(i) for i in range(0, data.shape[1])]
        pie = Pie("PAC成分图", width=1000, height=600)
        pie.add(
            "百分比",
            attr,
            ratio,
            radius=[50, 55],
            center=[25, 50],
            is_random=True,
        )
        pie.add(
            "最大方差",
            attr,
            variance,
            radius=[0, 45],
            center=[25, 50],
            rosetype="radius",
        )
        page.add(pie)

        if components_ratio != None:
            pca = PCA(n_components=components_ratio)
            pca.fit(X)

            value = pca.transform(X)
            save_helper.save_txt_helper(value, dataname)

            #信息提示
            ratio_ = np.sum(pca.explained_variance_ratio_)
            if ratio_ > components_ratio:
                message.append("所选百分比可能过小,为保证充分利用信息可以选择稍微向上调整")
            #绘图
            sum = 0
            bar_data = None
            for i in range(0, data.shape[1]):
                sum = sum + ratio[i]
                if sum == ratio_:
                    bar_data = [x for x in ratio[range(i + 1, data.shape[1])]]
                    bar = Bar("剩余成分百分比")
                    bar.add(
                        "",
                        ["剩余成分" + str(i)
                         for i in range(i + 1, data.shape[1])], bar_data)
                    page.add(bar)
                    break

        else:
            print(1)
            pca2 = PCA(n_components=components_n)
            pca2.fit(X)
            value = pca2.transform(X)
            save_helper.save_txt_helper(value, dataname + "2")
            ratio_ = np.sum(pca2.explained_variance_ratio_)
            pie_data = [ratio_] + [
                x for x in ratio[range(components_n, data.shape[1])]
            ]
            attr = ["s"] + [
                "s" + str(i) for i in range(components_n, data.shape[1])
            ]
            pie2 = Pie("选择成分百分比")
            pie2.add("",
                     attr,
                     pie_data,
                     radius=[40, 75],
                     label_text_color=None,
                     is_label_show=True,
                     legend_orient="vertical",
                     legend_pos="right")
            page.add(pie2)

        #绘图
        save_helper.save_tu_helper(page, dataname)
        return message
Exemple #29
0
bubble.render()


def RGB(r, g, b):
    return "#{:02x}{:02x}{:02x}".format(r, g, b)


from pyecharts import Scatter3D

attr1 = 'budget'
df = pde.quantile_cut_column(df, attr1)
g_axis = ["small", "medium-small", "medium", "medium-large", "large"]

title = 'Scatter of different movie from different budget level'
bubble = Scatter3D(title, title_pos='center')
for i in g_axis:
    dfv = df.loc[df[attr1 + '_level'] == i, :]
    attrs = ['director_facebook_likes', 'cast_total_facebook_likes', 'profits']
    print(dfv.shape)
    dfv = pde.drop_outliers(dfv[attrs], attrs)

    bubble.add(
        i,
        dfv.values,
        is_visualmap=True,
        xaxis3d_name=attrs[0],
        yaxis3d_name=attrs[1],
        zaxis3d_name=attrs[2],
        legend_top='7%',
        # is_grid3d_rotate=True,
Exemple #30
0
def test_more():
    page = Page()

    # line
    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"],
    )

    # pie
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图-圆环图示例", title_pos="center")
    pie.add(
        "",
        CLOTHES,
        v1,
        radius=[40, 75],
        label_text_color=None,
        is_label_show=True,
        legend_orient="vertical",
        legend_pos="left",
    )

    page.add([line, pie])

    # kline
    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 线图示例")
    kline.add(
        "日K",
        ["2017/7/{}".format(i + 1) for i in range(31)],
        v1,
        is_datazoom_show=True,
    )
    page.add(kline)

    # radar
    schema = [
        ("销售", 6500),
        ("管理", 16000),
        ("信息技术", 30000),
        ("客服", 38000),
        ("研发", 52000),
        ("市场", 25000),
    ]
    v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
    v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
    radar = Radar("雷达图示例")
    radar.config(schema)
    radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
    radar.add(
        "实际开销",
        v2,
        label_color=["#4e79a7"],
        is_area_show=False,
        legend_selectedmode="single",
    )
    page.add(radar)

    # scatter3d
    import random

    data = [
        [
            random.randint(0, 100),
            random.randint(0, 100),
            random.randint(0, 100),
        ]
        for _ in range(80)
    ]
    scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
    scatter3D.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR)
    page.add(scatter3D)

    # wordcloud
    name = [
        "Sam S Club",
        "Macys",
        "Amy Schumer",
        "Jurassic World",
        "Charter Communications",
        "Chick Fil A",
        "Planet Fitness",
        "Pitch Perfect",
        "Express",
        "Home",
        "Johnny Depp",
        "Lena Dunham",
        "Lewis Hamilton",
        "KXAN",
        "Mary Ellen Mark",
        "Farrah Abraham",
        "Rita Ora",
        "Serena Williams",
        "NCAA baseball tournament",
        "Point Break",
    ]
    value = [
        10000,
        6181,
        4386,
        4055,
        2467,
        2244,
        1898,
        1484,
        1112,
        965,
        847,
        582,
        555,
        550,
        462,
        366,
        360,
        282,
        273,
        265,
    ]
    wordcloud = WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[30, 100], rotate_step=66)
    page.add(wordcloud)

    # liquid
    liquid = Liquid("水球图示例")
    liquid.add("Liquid", [0.6])
    page.add(liquid)
    assert len(page) == 7
    assert isinstance(page[0], Line)
    assert (
        ("echarts" in page.js_dependencies)
        or ("echarts.min" in page.js_dependencies)
    )
    page.render()