Skip to content

Commit

Permalink
Merge pull request pyecharts#1738 from pyecharts/dev
Browse files Browse the repository at this point in the history
Prepare for version 1.9.0
  • Loading branch information
sunhailin-Leo authored Oct 29, 2020
2 parents 0259823 + 81e99c5 commit a08d687
Show file tree
Hide file tree
Showing 27 changed files with 1,597 additions and 1,222 deletions.
4 changes: 2 additions & 2 deletions pyecharts/_version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__version__ = "1.8.1"
__author__ = "chenjiandongx"
__version__ = "1.9.0"
__author__ = "chenjiandongx"
8 changes: 0 additions & 8 deletions pyecharts/charts/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,6 @@ def __init__(self, init_opts: Union[InitOpts, dict] = InitOpts()):
self.options.update(_opts.get("animationOpts", AnimationOpts()).opts)
self._is_geo_chart: bool = False

if WarningType.ShowWarning:
warnings.resetwarnings()
warnings.warn(
message="pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)",
category=PendingDeprecationWarning,
stacklevel=2,
)

def get_options(self) -> dict:
return utils.remove_key_with_none_value(self.options)

Expand Down
8 changes: 7 additions & 1 deletion pyecharts/charts/basic_charts/effectscatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ def add_yaxis(
):
self._append_color(color)
self._append_legend(series_name, is_selected)

if all([isinstance(d, opts.EffectScatterItem) for d in y_axis]):
y_axis = y_axis
else:
y_axis = [list(z) for z in zip(self._xaxis_data, y_axis)]

self.options.get("series").append(
{
"type": ChartType.EFFECT_SCATTER,
Expand All @@ -41,7 +47,7 @@ def add_yaxis(
"symbol": symbol,
"symbolSize": symbol_size,
"symbolRotate": symbol_rotate,
"data": [list(z) for z in zip(self._xaxis_data, y_axis)],
"data": y_axis,
"label": label_opts,
"tooltip": tooltip_opts,
"itemStyle": itemstyle_opts,
Expand Down
11 changes: 8 additions & 3 deletions pyecharts/charts/basic_charts/funnel.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,14 @@ def add(
itemstyle_opts: types.ItemStyle = None,
):
self._append_color(color)
data = [{"name": n, "value": v} for n, v in data_pair]
for a, _ in data_pair:
self._append_legend(a, is_selected)
if all([isinstance(d, opts.FunnelItem) for d in data_pair]):
data = data_pair
for a in data_pair:
self._append_legend(a.opts.get("name"), is_selected)
else:
data = [{"name": n, "value": v} for n, v in data_pair]
for a, _ in data_pair:
self._append_legend(a, is_selected)

_dset = set(self.options.get("legend")[0].get("data"))
self.options.get("legend")[0].update(data=list(_dset))
Expand Down
23 changes: 23 additions & 0 deletions pyecharts/charts/basic_charts/geo.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,14 @@ def add_schema(
is_roam: bool = True,
zoom: types.Optional[types.Numeric] = None,
center: types.Optional[types.Sequence] = None,
aspect_scale: types.Numeric = 0.75,
bounding_coords: types.Optional[types.Sequence[types.Numeric]] = None,
min_scale_limit: types.Optional[types.Numeric] = None,
max_scale_limit: types.Optional[types.Numeric] = None,
name_property: str = "name",
selected_mode: types.Union[bool, str] = False,
layout_center: types.Optional[types.Sequence[str]] = None,
layout_size: types.Union[str, types.Numeric] = None,
label_opts: types.Label = None,
itemstyle_opts: types.ItemStyle = None,
emphasis_itemstyle_opts: types.ItemStyle = None,
Expand All @@ -193,12 +201,27 @@ def add_schema(
self.js_dependencies.add(maptype)
if center:
assert len(center) == 2

scale_limit: types.Optional[dict] = {
"min": min_scale_limit,
"max": max_scale_limit,
}
if min_scale_limit is None and max_scale_limit is None:
scale_limit = None

self.options.update(
geo={
"map": maptype,
"zoom": zoom,
"center": center,
"roam": is_roam,
"aspectScale": aspect_scale,
"boundingCoords": bounding_coords,
"scaleLimit": scale_limit,
"nameProperty": name_property,
"selectedMode": selected_mode,
"layoutCenter": layout_center,
"layoutSize": layout_size,
"label": label_opts,
"itemStyle": itemstyle_opts,
"emphasis": {
Expand Down
4 changes: 2 additions & 2 deletions pyecharts/charts/basic_charts/heatmap.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ def __init__(self, init_opts: types.Init = opts.InitOpts()):
def add_yaxis(
self,
series_name: str,
yaxis_data: types.Sequence[types.Union[opts.HeatMapItem, dict]],
value: types.Sequence[types.Union[opts.HeatMapItem, dict]],
yaxis_data: types.Sequence[types.Union[dict]],
value: types.Sequence[types.Union[dict]],
*,
is_selected: bool = True,
xaxis_index: types.Optional[types.Numeric] = None,
Expand Down
10 changes: 7 additions & 3 deletions pyecharts/charts/basic_charts/line.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,13 @@ def add_yaxis(
):
self._append_color(color)
self._append_legend(series_name, is_selected)
# 合并 x 和 y 轴数据,避免当 X 轴的类型设置为 'value' 的时候,
# X、Y 轴均显示 Y 轴数据
data = [list(z) for z in zip(self._xaxis_data, y_axis)]

if all([isinstance(d, opts.LineItem) for d in y_axis]):
data = y_axis
else:
# 合并 x 和 y 轴数据,避免当 X 轴的类型设置为 'value' 的时候,
# X、Y 轴均显示 Y 轴数据
data = [list(z) for z in zip(self._xaxis_data, y_axis)]

self.options.get("series").append(
{
Expand Down
24 changes: 24 additions & 0 deletions pyecharts/charts/basic_charts/map.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,19 @@ def add(
is_selected: bool = True,
is_roam: bool = True,
center: types.Optional[types.Sequence] = None,
aspect_scale: types.Numeric = 0.75,
bounding_coords: types.Optional[types.Sequence[types.Numeric]] = None,
min_scale_limit: types.Optional[types.Numeric] = None,
max_scale_limit: types.Optional[types.Numeric] = None,
name_property: str = "name",
selected_mode: types.Union[bool, str] = False,
zoom: types.Optional[types.Numeric] = 1,
name_map: types.Optional[dict] = None,
symbol: types.Optional[str] = None,
map_value_calculation: str = "sum",
is_map_symbol_show: bool = True,
layout_center: types.Optional[types.Sequence[str]] = None,
layout_size: types.Union[str, types.Numeric] = None,
label_opts: types.Label = opts.LabelOpts(),
tooltip_opts: types.Tooltip = None,
itemstyle_opts: types.ItemStyle = None,
Expand All @@ -37,6 +46,13 @@ def add(
else:
data = [{"name": n, "value": v} for n, v in data_pair]

scale_limit: types.Optional[dict] = {
"min": min_scale_limit,
"max": max_scale_limit,
}
if min_scale_limit is None and max_scale_limit is None:
scale_limit = None

self._append_legend(series_name, is_selected)
self.options.get("series").append(
{
Expand All @@ -47,10 +63,18 @@ def add(
"mapType": maptype,
"data": data,
"roam": is_roam,
"aspectScale": aspect_scale,
"boundingCoords": bounding_coords,
"scaleLimit": scale_limit,
"nameProperty": name_property,
"selectedMode": selected_mode,
"center": center,
"zoom": zoom,
"nameMap": name_map,
"mapValueCalculation": map_value_calculation,
"showLegendSymbol": is_map_symbol_show,
"layoutCenter": layout_center,
"layoutSize": layout_size,
"tooltip": tooltip_opts,
"itemStyle": itemstyle_opts,
"emphasis": {
Expand Down
2 changes: 1 addition & 1 deletion pyecharts/charts/basic_charts/parallel.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def add_schema(
def add(
self,
series_name: str,
data: types.Sequence[types.Union[opts.ParallelItem, dict]],
data: types.Sequence[types.Union[dict]],
*,
is_smooth: bool = False,
is_selected: bool = True,
Expand Down
2 changes: 2 additions & 0 deletions pyecharts/charts/basic_charts/pie.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def add(
rosetype: types.Optional[str] = None,
is_clockwise: bool = True,
label_opts: types.Label = opts.LabelOpts(),
label_line_opts: types.PieLabelLine = None,
tooltip_opts: types.Tooltip = None,
itemstyle_opts: types.ItemStyle = None,
encode: types.Union[types.JSFunc, dict, None] = None,
Expand Down Expand Up @@ -62,6 +63,7 @@ def add(
"center": center,
"roseType": rosetype,
"label": label_opts,
"labelLine": label_line_opts,
"tooltip": tooltip_opts,
"itemStyle": itemstyle_opts,
"encode": encode,
Expand Down
6 changes: 5 additions & 1 deletion pyecharts/charts/basic_charts/radar.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,11 @@ def add(
areastyle_opts: opts.AreaStyleOpts = opts.AreaStyleOpts(),
tooltip_opts: types.Tooltip = None,
):
self._append_legend(series_name, is_selected)
if all([isinstance(d, opts.RadarItem) for d in data]):
for a in data:
self._append_legend(a.get("name"), is_selected)
else:
self._append_legend(series_name, is_selected)
self.options.get("series").append(
{
"type": ChartType.RADAR,
Expand Down
5 changes: 5 additions & 0 deletions pyecharts/charts/composite_charts/timeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ def add_schema(
label_opts: types.Optional[opts.LabelOpts] = None,
itemstyle_opts: types.ItemStyle = None,
graphic_opts: types.Graphic = None,
checkpointstyle_opts: types.TimeLinkCheckPoint = None,
controlstyle_opts: types.TimeLineControl = None,
):
self.options.get("baseOption").get("timeline").update(
{
Expand All @@ -61,6 +63,8 @@ def add_schema(
"label": label_opts,
"itemStyle": itemstyle_opts,
"graphic": graphic_opts,
"checkpointStyle": checkpointstyle_opts,
"controlStyle": controlstyle_opts,
}
)
return self
Expand All @@ -73,6 +77,7 @@ def add(self, chart: Base, time_point: str):
self.options.get("baseOption").get("timeline").update(data=self._time_points)
self.options.get("options").append(
{
"backgroundColor": chart.options.get("backgroundColor"),
"legend": chart.options.get("legend"),
"series": chart.options.get("series"),
"xAxis": chart.options.get("xAxis"),
Expand Down
2 changes: 1 addition & 1 deletion pyecharts/commons/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ def _clean_dict(mydict):
# delete key with empty string
continue

yield (key, value)
yield key, value


def _clean_array(myarray):
Expand Down
6 changes: 4 additions & 2 deletions pyecharts/options/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
CandleStickItem,
ComponentTitleOpts,
EffectScatterItem,
FunnelItem,
GaugeDetailOpts,
GaugePointerOpts,
GaugeTitleOpts,
Expand All @@ -28,7 +29,6 @@
GraphicTextStyleOpts,
GraphLink,
GraphNode,
HeatMapItem,
LineItem,
MapItem,
Map3DColorMaterialOpts,
Expand All @@ -39,13 +39,15 @@
Map3DRealisticMaterialOpts,
Map3DViewControlOpts,
PageLayoutOpts,
ParallelItem,
PieItem,
PieLabelLineOpts,
RadarItem,
SankeyLevelsOpts,
ScatterItem,
SunburstItem,
ThemeRiverItem,
TimelineCheckPointerStyle,
TimelineControlStyle,
TreeItem,
TreeMapItemStyleOpts,
TreeMapLevelsOpts,
Expand Down
Loading

0 comments on commit a08d687

Please sign in to comment.