mirror of
https://github.com/pyecharts/pyecharts.git
synced 2025-12-08 20:59:23 +00:00
91 lines
3.2 KiB
Python
91 lines
3.2 KiB
Python
import unittest
|
|
from unittest.mock import patch
|
|
|
|
from pyecharts import options as opts
|
|
from pyecharts.charts import Pie
|
|
from pyecharts.faker import Faker
|
|
|
|
|
|
class TestPieChart(unittest.TestCase):
|
|
@patch("pyecharts.render.engine.write_utf8_html_file")
|
|
def test_pie_base(self, fake_writer):
|
|
c = (
|
|
Pie()
|
|
.add("", [list(z) for z in zip(Faker.choose(), Faker.values())])
|
|
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
|
|
)
|
|
c.render()
|
|
_, content = fake_writer.call_args[0]
|
|
self.assertEqual(c.theme, "white")
|
|
self.assertEqual(c.renderer, "canvas")
|
|
|
|
@patch("pyecharts.render.engine.write_utf8_html_file")
|
|
def test_pie_item_base(self, fake_writer):
|
|
d = [
|
|
opts.PieItem(name="河马", value=131),
|
|
opts.PieItem(name="蟒蛇", value=89),
|
|
opts.PieItem(name="老虎", value=149),
|
|
opts.PieItem(name="大象", value=178),
|
|
]
|
|
c = (
|
|
Pie()
|
|
.add("", d)
|
|
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
|
|
)
|
|
c.render()
|
|
_, content = fake_writer.call_args[0]
|
|
self.assertEqual(c.theme, "white")
|
|
self.assertEqual(c.renderer, "canvas")
|
|
|
|
@patch("pyecharts.render.engine.write_utf8_html_file")
|
|
def test_pie_dataset(self, fake_writer):
|
|
c = (
|
|
Pie()
|
|
.add_dataset(
|
|
source=[
|
|
["product", "2012", "2013", "2014", "2015", "2016", "2017"],
|
|
["Matcha Latte", 41.1, 30.4, 65.1, 53.3, 83.8, 98.7],
|
|
["Milk Tea", 86.5, 92.1, 85.7, 83.1, 73.4, 55.1],
|
|
["Cheese Cocoa", 24.1, 67.2, 79.5, 86.4, 65.2, 82.5],
|
|
["Walnut Brownie", 55.2, 67.1, 69.2, 72.4, 53.9, 39.1],
|
|
]
|
|
)
|
|
.add(
|
|
series_name="Matcha Latte",
|
|
data_pair=[],
|
|
radius=60,
|
|
center=["25%", "30%"],
|
|
encode={"itemName": "product", "value": "2012"},
|
|
)
|
|
.add(
|
|
series_name="Milk Tea",
|
|
data_pair=[],
|
|
radius=60,
|
|
center=["75%", "30%"],
|
|
encode={"itemName": "product", "value": "2013"},
|
|
)
|
|
.add(
|
|
series_name="Cheese Cocoa",
|
|
data_pair=[],
|
|
radius=60,
|
|
center=["25%", "75%"],
|
|
encode={"itemName": "product", "value": "2014"},
|
|
)
|
|
.add(
|
|
series_name="Walnut Brownie",
|
|
data_pair=[],
|
|
radius=60,
|
|
center=["75%", "75%"],
|
|
encode={"itemName": "product", "value": "2015"},
|
|
)
|
|
.set_global_opts(
|
|
title_opts=opts.TitleOpts(title="Dataset simple pie example"),
|
|
legend_opts=opts.LegendOpts(pos_left="30%", pos_top="2%"),
|
|
)
|
|
)
|
|
c.render()
|
|
_, content = fake_writer.call_args[0]
|
|
self.assertEqual(c.theme, "white")
|
|
self.assertEqual(c.renderer, "canvas")
|
|
self.assertIn("dataset", content)
|