mirror of
https://github.com/pyecharts/pyecharts.git
synced 2026-01-18 16:52:31 +00:00
120 lines
3.4 KiB
Python
120 lines
3.4 KiB
Python
# coding=utf-8
|
|
import math
|
|
import random
|
|
|
|
from example.commons import Collector, Faker
|
|
from pyecharts import options as opts
|
|
from pyecharts.charts import Page, Polar
|
|
|
|
C = Collector()
|
|
|
|
|
|
@C.funcs
|
|
def polar_scatter0() -> Polar:
|
|
data = [(i, random.randint(1, 100)) for i in range(101)]
|
|
c = (
|
|
Polar()
|
|
.add("", data, type_="scatter", label_opts=opts.LabelOpts(is_show=False))
|
|
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-Scatter0"))
|
|
)
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def polar_scatter1() -> Polar:
|
|
c = (
|
|
Polar()
|
|
.add("", [(10, random.randint(1, 100)) for i in range(300)], type_="scatter")
|
|
.add("", [(11, random.randint(1, 100)) for i in range(300)], type_="scatter")
|
|
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
|
|
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-Scatter1"))
|
|
)
|
|
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def polar_effectscatter() -> Polar:
|
|
data = [(i, random.randint(1, 100)) for i in range(10)]
|
|
c = (
|
|
Polar()
|
|
.add(
|
|
"",
|
|
data,
|
|
type_="effectScatter",
|
|
effect_opts=opts.EffectOpts(scale=10, period=5),
|
|
label_opts=opts.LabelOpts(is_show=False),
|
|
)
|
|
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-EffectScatter"))
|
|
)
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def polar_radiusaxis() -> Polar:
|
|
c = (
|
|
Polar()
|
|
.add_schema(
|
|
radiusaxis_opts=opts.RadiusAxisOpts(data=Faker.week, type_="category")
|
|
)
|
|
.add("A", [1, 2, 3, 4, 3, 5, 1], type_="bar", stack="stack0")
|
|
.add("B", [2, 4, 6, 1, 2, 3, 1], type_="bar", stack="stack0")
|
|
.add("C", [1, 2, 3, 4, 1, 2, 5], type_="bar", stack="stack0")
|
|
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-RadiusAxis"))
|
|
)
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def polar_angleaxis() -> Polar:
|
|
c = (
|
|
Polar()
|
|
.add_schema(
|
|
angleaxis_opts=opts.AngleAxisOpts(data=Faker.week, type_="category")
|
|
)
|
|
.add("A", [1, 2, 3, 4, 3, 5, 1], type_="bar", stack="stack0")
|
|
.add("B", [2, 4, 6, 1, 2, 3, 1], type_="bar", stack="stack0")
|
|
.add("C", [1, 2, 3, 4, 1, 2, 5], type_="bar", stack="stack0")
|
|
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-AngleAxis"))
|
|
)
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def polar_flower() -> Polar:
|
|
data = []
|
|
for i in range(101):
|
|
theta = i / 100 * 360
|
|
r = 5 * (1 + math.sin(theta / 180 * math.pi))
|
|
data.append([r, theta])
|
|
hour = [i for i in range(1, 25)]
|
|
c = (
|
|
Polar()
|
|
.add_schema(
|
|
angleaxis_opts=opts.AngleAxisOpts(
|
|
data=hour, type_="value", boundary_gap=False, start_angle=0
|
|
)
|
|
)
|
|
.add("love", data, label_opts=opts.LabelOpts(is_show=False))
|
|
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-Love"))
|
|
)
|
|
return c
|
|
|
|
|
|
@C.funcs
|
|
def polar_flower() -> Polar:
|
|
data = []
|
|
for i in range(361):
|
|
t = i / 180 * math.pi
|
|
r = math.sin(2 * t) * math.cos(2 * t)
|
|
data.append([r, i])
|
|
c = (
|
|
Polar()
|
|
.add_schema(angleaxis_opts=opts.AngleAxisOpts(start_angle=0, min_=0))
|
|
.add("flower", data, label_opts=opts.LabelOpts(is_show=False))
|
|
)
|
|
return c
|
|
|
|
|
|
Page().add(*[fn() for fn, _ in C.charts]).render()
|