mirror of
https://github.com/pyecharts/pyecharts.git
synced 2025-12-08 20:59:23 +00:00
Add: kline example
This commit is contained in:
parent
5cdc70f08c
commit
400202f41d
@ -134,7 +134,7 @@ def bar_markline_custom() -> Bar:
|
||||
.set_series_opts(
|
||||
label_opts=opts.LabelOpts(is_show=False),
|
||||
markline_opts=opts.MarkLineOpts(
|
||||
data=[opts.MarkLineItem(yaxis=50, name="yAxis=50")]
|
||||
data=[opts.MarkLineItem(y=50, name="yAxis=50")]
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
from pyecharts.charts import Kline
|
||||
from pyecharts.options import *
|
||||
# coding=utf-8
|
||||
from example.commons import Collector
|
||||
from pyecharts import options as opts
|
||||
from pyecharts.charts import Kline, Page
|
||||
|
||||
kline = Kline()
|
||||
kline.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
|
||||
C = Collector()
|
||||
|
||||
v1 = [
|
||||
data = [
|
||||
[2320.26, 2320.26, 2287.3, 2362.94],
|
||||
[2300, 2291.3, 2288.26, 2308.38],
|
||||
[2295.35, 2346.5, 2295.35, 2345.92],
|
||||
@ -38,10 +39,108 @@ v1 = [
|
||||
[2255.77, 2270.28, 2253.31, 2276.22],
|
||||
]
|
||||
|
||||
kline.add_yaxis("kline", v1)
|
||||
kline.set_global_opts(xaxis_opt=AxisOpts(name="x轴"), yaxis_opt=AxisOpts(name="y轴"))
|
||||
kline.render()
|
||||
|
||||
# self._option.get("xAxis")[0]["scale"] = True
|
||||
# self._option.get("yAxis")[0]["scale"] = True
|
||||
# self._option.get("yAxis")[0]["splitArea"] = {"show": True}
|
||||
@C.funcs
|
||||
def kline_base() -> Kline:
|
||||
c = (
|
||||
Kline()
|
||||
.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
|
||||
.add_yaxis("kline", data)
|
||||
.set_global_opts(
|
||||
yaxis_opts=opts.AxisOpts(is_scale=True),
|
||||
xaxis_opts=opts.AxisOpts(is_scale=True),
|
||||
title_opts=opts.TitleOpts(title="Kline-基本示例"),
|
||||
)
|
||||
)
|
||||
return c
|
||||
|
||||
|
||||
@C.funcs
|
||||
def kline_splitarea() -> Kline:
|
||||
c = (
|
||||
Kline()
|
||||
.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
|
||||
.add_yaxis("kline", data)
|
||||
.set_global_opts(
|
||||
xaxis_opts=opts.AxisOpts(is_scale=True),
|
||||
yaxis_opts=opts.AxisOpts(
|
||||
is_scale=True,
|
||||
splitarea_opts=opts.SplitAreaOpts(
|
||||
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
|
||||
),
|
||||
),
|
||||
title_opts=opts.TitleOpts(title="Kline-显示分割区域"),
|
||||
)
|
||||
)
|
||||
return c
|
||||
|
||||
|
||||
@C.funcs
|
||||
def kline_datazoom_slider() -> Kline:
|
||||
c = (
|
||||
Kline()
|
||||
.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
|
||||
.add_yaxis("kline", data)
|
||||
.set_global_opts(
|
||||
xaxis_opts=opts.AxisOpts(is_scale=True),
|
||||
yaxis_opts=opts.AxisOpts(
|
||||
is_scale=True,
|
||||
splitarea_opts=opts.SplitAreaOpts(
|
||||
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
|
||||
),
|
||||
),
|
||||
datazoom_opts=[opts.DataZoomOpts()],
|
||||
title_opts=opts.TitleOpts(title="Kline-DataZoom-slider"),
|
||||
)
|
||||
)
|
||||
return c
|
||||
|
||||
|
||||
@C.funcs
|
||||
def kline_datazoom_inside() -> Kline:
|
||||
c = (
|
||||
Kline()
|
||||
.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
|
||||
.add_yaxis("kline", data)
|
||||
.set_global_opts(
|
||||
xaxis_opts=opts.AxisOpts(is_scale=True),
|
||||
yaxis_opts=opts.AxisOpts(
|
||||
is_scale=True,
|
||||
splitarea_opts=opts.SplitAreaOpts(
|
||||
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
|
||||
),
|
||||
),
|
||||
datazoom_opts=[opts.DataZoomOpts(type_="inside")],
|
||||
title_opts=opts.TitleOpts(title="Kline-DataZoom-inside"),
|
||||
)
|
||||
)
|
||||
return c
|
||||
|
||||
|
||||
@C.funcs
|
||||
def kline_markline() -> Kline:
|
||||
c = (
|
||||
Kline()
|
||||
.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
|
||||
.add_yaxis(
|
||||
"kline",
|
||||
data,
|
||||
markline_opts=opts.MarkLineOpts(
|
||||
data=[opts.MarkLineItem(type_="max", value_dim="close")]
|
||||
),
|
||||
)
|
||||
.set_global_opts(
|
||||
xaxis_opts=opts.AxisOpts(is_scale=True),
|
||||
yaxis_opts=opts.AxisOpts(
|
||||
is_scale=True,
|
||||
splitarea_opts=opts.SplitAreaOpts(
|
||||
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
|
||||
),
|
||||
),
|
||||
title_opts=opts.TitleOpts(title="Kline-MarkLine"),
|
||||
)
|
||||
)
|
||||
return c
|
||||
|
||||
|
||||
Page().add(*[fn() for fn, _ in C.charts]).render()
|
||||
|
||||
@ -102,7 +102,7 @@ class Polar(Chart):
|
||||
"z": angleaxis_z_index,
|
||||
}
|
||||
|
||||
if type in ("scatter", "line"):
|
||||
if type_ in ("scatter", "line"):
|
||||
self.options.get("series").append(
|
||||
{
|
||||
"type": type_,
|
||||
@ -116,7 +116,7 @@ class Polar(Chart):
|
||||
}
|
||||
)
|
||||
|
||||
elif type == "effectScatter":
|
||||
elif type_ == "effectScatter":
|
||||
self.options.get("series").append(
|
||||
{
|
||||
"type": type_,
|
||||
@ -131,17 +131,17 @@ class Polar(Chart):
|
||||
}
|
||||
)
|
||||
|
||||
elif type == "barRadius":
|
||||
elif type_ == "barRadius":
|
||||
self.options.get("series").append(bar_type_series)
|
||||
self.options.update(angleAxis={})
|
||||
self.options.update(radiusAxis=radius_axis_opt)
|
||||
|
||||
elif type == "barAngle":
|
||||
elif type_ == "barAngle":
|
||||
self.options.get("series").append(bar_type_series)
|
||||
self.options.update(radiusAxis={"show": is_radiusaxis_show})
|
||||
self.options.update(angleAxis=angle_axis_opt)
|
||||
|
||||
elif type == "custom":
|
||||
elif type_ == "custom":
|
||||
assert render_item is not None
|
||||
self.options.get("series").append(
|
||||
{
|
||||
@ -153,7 +153,7 @@ class Polar(Chart):
|
||||
}
|
||||
)
|
||||
|
||||
if type not in ("barAngle", "barRadius"):
|
||||
if type_ not in ("barAngle", "barRadius"):
|
||||
self.options.update(angleAxis=angle_axis_opt)
|
||||
self.options.update(radiusAxis=radius_axis_opt)
|
||||
self.options.update(polar={})
|
||||
|
||||
@ -4,6 +4,7 @@ from ..globals import RenderType
|
||||
from ..options.series_options import (
|
||||
LabelOpts,
|
||||
LineStyleOpts,
|
||||
SplitAreaOpts,
|
||||
SplitLineOpts,
|
||||
TextStyleOpts,
|
||||
)
|
||||
@ -257,11 +258,14 @@ class AxisOpts:
|
||||
max_: Optional[Numeric] = None,
|
||||
type_: Optional[str] = None,
|
||||
name_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
|
||||
splitarea_opts: Union[SplitAreaOpts, dict, None] = None,
|
||||
splitline_opts: Union[SplitLineOpts, dict] = SplitLineOpts(),
|
||||
linestyle_opts: Union[LineStyleOpts, dict] = LineStyleOpts(),
|
||||
):
|
||||
if isinstance(name_textstyle_opts, TextStyleOpts):
|
||||
name_textstyle_opts = name_textstyle_opts.opts
|
||||
if isinstance(splitarea_opts, SplitAreaOpts):
|
||||
splitarea_opts = splitarea_opts.opts
|
||||
if isinstance(splitline_opts, SplitLineOpts):
|
||||
splitline_opts = splitline_opts.opts
|
||||
if isinstance(linestyle_opts, LineStyleOpts):
|
||||
@ -285,6 +289,7 @@ class AxisOpts:
|
||||
"max": max_,
|
||||
"type": type_,
|
||||
"splitLine": splitline_opts,
|
||||
"splitArea": splitarea_opts,
|
||||
"axisLine": {"lineStyle": linestyle_opts},
|
||||
}
|
||||
|
||||
|
||||
@ -140,8 +140,10 @@ class MarkLineItem:
|
||||
self,
|
||||
name: Optional[str] = None,
|
||||
type_: Optional[str] = None,
|
||||
xaxis: Union[str, Numeric, None] = None,
|
||||
yaxis: Union[str, Numeric, None] = None,
|
||||
x: Union[str, Numeric, None] = None,
|
||||
y: Union[str, Numeric, None] = None,
|
||||
value_index: Optional[Numeric] = None,
|
||||
value_dim: Optional[str] = None,
|
||||
coord: Optional[Sequence] = None,
|
||||
symbol: Optional[str] = None,
|
||||
symbol_size: Optional[Numeric] = None,
|
||||
@ -149,8 +151,10 @@ class MarkLineItem:
|
||||
self.opts: dict = {
|
||||
"name": name,
|
||||
"type": type_,
|
||||
"xAxis": xaxis,
|
||||
"yAxis": yaxis,
|
||||
"valueIndex": value_index,
|
||||
"valueDim": value_dim,
|
||||
"xAxis": x,
|
||||
"yAxis": y,
|
||||
"coord": coord,
|
||||
"symbol": symbol,
|
||||
"symbolSize": symbol_size,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user