Skip to content

Commit

Permalink
为markpoint增加其他配置项
Browse files Browse the repository at this point in the history
  • Loading branch information
chenjiandongx committed Jul 23, 2017
1 parent 46540fa commit f23f5c8
Show file tree
Hide file tree
Showing 6 changed files with 337 additions and 232 deletions.
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* [开始使用](https://github.com/chenjiandongx/pyecharts/blob/master/README.md#开始使用)
* [通用配置项](https://github.com/chenjiandongx/pyecharts/blob/master/README.md#通用配置项)
* xyAxis:直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline)
* dataZoom:dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。(Line、Bar、Scatter、EffectScatter)
* dataZoom:dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。(Line、Bar、Scatter、EffectScatter、Kline)
* legend:图例组件。图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。
* label:图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。
* lineStyle:带线图形的线的风格选项(Line、Polar、Radar、Graph、Parallel)
Expand Down Expand Up @@ -242,6 +242,12 @@ bar.render()
标记点,有'min', 'max', 'average'可选
* mark_line -> list
标记线,有'min', 'max', 'average'可选
* mark_point_symbol -> str
标记点图形,,默认为'pin',有'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'可选
* mark_point_symbolsize -> int
标记点图形大小,默认为 50
* mark_point_textcolor -> str
标记点字体颜色,默认为'#fff'

```python
from pyecharts import Bar
Expand Down Expand Up @@ -680,6 +686,24 @@ line.render()
标记点,有'min', 'max', 'average'可选
* mark_line -> list
标记线,有'min', 'max', 'average'可选
* mark_point_symbol -> str
标记点图形,,默认为'pin',有'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'可选
* mark_point_symbolsize -> int
标记点图形大小,默认为 50
* mark_point_textcolor -> str
标记点字体颜色,默认为'#fff'

标记点其他配置
```python
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average", "max", "min"],
mark_point_symbol='diamond', mark_point_textcolor='#40ff27')
line.add("商家B", attr, v2, mark_point=["average", "max", "min"],
mark_point_symbol='arrow', mark_point_symbolsize=40)
line.show_config()
line.render()
```
![line-0-1](https://github.com/chenjiandongx/pyecharts/blob/master/images/line-0-1.png)

```python
line = Line("折线图-数据堆叠示例")
Expand Down
Binary file added images/line-0-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions pyecharts/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@ def add(self, angle_data=None,
maptype=None,
mark_line=None,
mark_point=None,
mark_point_symbol=None,
mark_point_symbolsize=None,
mark_point_textcolor=None,
namegap=None,
rader_text_color=None,
radius_data=None,
Expand Down
43 changes: 35 additions & 8 deletions pyecharts/option.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,22 +253,51 @@ def xy_axis(type=None,
return _xAxis, _yAxis


def _mark(data):
def _mark(data,
mark_point_symbol='pin',
mark_point_symbolsize=50,
mark_point_textcolor='#fff',
_is_markline=False,
**kwargs):
"""
:param data:
标记数据项,有'min', 'max', 'average'可选
:param mark_point_symbol:
标记点图形
:param mark_point_symbolsize:
标记点图形大小
:param mark_point_textcolor:
标记点字体颜色
:param _is_markline:
判断是否为 markline
:return:
"""
mark = {"data": []}
if data:
for d in list(data):
_type, _name = "", ""
if "max" in d:
mark.get("data").append({"type": "max", "name": "最大值"})
_type, _name = "max", "最大值"
elif "min" in d:
mark.get("data").append({"type": "min", "name": "最小值"})
_type, _name = "min", "最小值"
elif "average" in d:
mark.get("data").append({"type": "average", "name": "平均值"})
_type, _name = "average", "平均値"
if _is_markline:
_m = {
"type": _type,
"name": _name,
}
else:
_m = {
"type": _type,
"name": _name,
"symbol": mark_point_symbol,
"symbolSize": mark_point_symbolsize,
"label": {"normal": {"textStyle": {"color": mark_point_textcolor}}}
}
if type:
mark.get("data").append(_m)
return mark


Expand All @@ -281,7 +310,7 @@ def mark_point(mark_point=None, **kwargs):
:param kwargs:
:return:
"""
return _mark(mark_point)
return _mark(mark_point, **kwargs)


@collectfuncs
Expand All @@ -293,8 +322,7 @@ def mark_line(mark_line=None, **kwargs):
:param kwargs:
:return:
"""

return _mark(mark_line)
return _mark(mark_line, _is_markline=True)


@collectfuncs
Expand Down Expand Up @@ -369,7 +397,6 @@ def visual_map(visual_range=None,
if visual_range_color:
if len(visual_range_color) >= 2:
inrange = visual_range_color

_visual_map = {
"type": "continuous",
"min": _min,
Expand Down
Loading

0 comments on commit f23f5c8

Please sign in to comment.