#!/usr/bin/env python # coding=utf-8 from __future__ import unicode_literals import random from test.constants import CLOTHES from pyecharts import Pie, Style def test_pie_default_formatter(): v1 = [11, 12, 13, 10, 10, 10] pie = Pie("饼图示例") pie.add("", CLOTHES, v1, is_label_show=True) assert '"formatter": "{b}: {d}%"' in pie._repr_html_() def test_pie_legend(): 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", ) pie.render() def test_pie_type_rose(): v1 = [11, 12, 13, 10, 10, 10] v2 = [19, 21, 32, 20, 20, 33] pie = Pie("饼图-玫瑰图示例", title_pos="center", width=900) pie.add( "商品A", CLOTHES, v1, center=[25, 50], is_random=True, radius=[30, 75], rosetype="radius", ) pie.add( "商品B", CLOTHES, v2, center=[75, 50], is_random=True, radius=[30, 75], rosetype="area", is_legend_show=False, is_label_show=True, ) pie.render() def test_pie_type_radius(): pie = Pie("饼图示例", title_pos="center", width=1000, height=600) pie.add( "", ["A", "B", "C", "D", "E", "F"], [335, 321, 234, 135, 251, 148], radius=[40, 55], is_label_show=True, ) pie.add( "", ["H", "I", "J"], [335, 679, 204], radius=[0, 30], legend_orient="vertical", legend_pos="left", ) pie.render() def test_pie_multiple(): attr = ["A", "B", "C", "D", "E", "F"] pie = Pie("饼图示例", width=1000, height=600) pie.add( "", attr, [random.randint(0, 100) for _ in range(6)], radius=[50, 55], center=[25, 50], is_random=True, ) pie.add( "", attr, [random.randint(20, 100) for _ in range(6)], radius=[0, 45], center=[25, 50], rosetype="area", ) pie.add( "", attr, [random.randint(0, 100) for _ in range(6)], radius=[50, 55], center=[65, 50], is_random=True, ) pie.add( "", attr, [random.randint(20, 100) for _ in range(6)], radius=[0, 45], center=[65, 50], rosetype="radius", ) pie.render() def test_pie_multiple_movie(): pie = Pie('各类电影中"好片"所占的比例', "数据来着豆瓣", title_pos="center") style = Style() pie_style = style.add(label_pos="center", is_label_show=True, label_text_color=None) pie.add("", ["剧情", ""], [25, 75], center=[10, 30], radius=[18, 24], **pie_style) pie.add("", ["奇幻", ""], [24, 76], center=[30, 30], radius=[18, 24], **pie_style) pie.add("", ["爱情", ""], [14, 86], center=[50, 30], radius=[18, 24], **pie_style) pie.add("", ["惊悚", ""], [11, 89], center=[70, 30], radius=[18, 24], **pie_style) pie.add("", ["冒险", ""], [27, 73], center=[90, 30], radius=[18, 24], **pie_style) pie.add("", ["动作", ""], [15, 85], center=[10, 70], radius=[18, 24], **pie_style) pie.add("", ["喜剧", ""], [54, 46], center=[30, 70], radius=[18, 24], **pie_style) pie.add("", ["科幻", ""], [26, 74], center=[50, 70], radius=[18, 24], **pie_style) pie.add("", ["悬疑", ""], [25, 75], center=[70, 70], radius=[18, 24], **pie_style) pie.add( "", ["犯罪", ""], [28, 72], center=[90, 70], radius=[18, 24], legend_top="center", **pie_style ) pie.render()