首页 > 编程知识 正文

java生成echarts图表,echarts环形进度条

时间:2023-05-06 12:43:58 阅读:12295 作者:4219

当前的pyecharts版本为1.9.0。

摘要pye charts/charts/composite _ charts /包中的四个模块分别定义绑定图表类。 其中,pye charts/charts/composite _ charts/timeline.py模块仅定义时间轴类timeline

Timeline类继承自图表基类Base,用于在单个echarts实例中使用22网格布局同时绘制四个数据序列。 即,实现ECharts中的直角坐标系grid功能。注意!网格上仅支持绘制折线图,柱状图,散点图(气泡图)。

Grid类的签名是class grid (init _ opts 3360 opts.init opts=opts.init opts () )。

Grid类的许多属性和方法都是从Base类继承的,主要是添加了add方法。

classpyecharts.charts.timelineclasstimeline (#初始化设置项,请参阅` global _ options.init opts ` init _ opts 3360 opts.init opts # 'category':类别轴适用于离散类别数据,对于这种类型,必须在data中设置类别数据。 # 'time':时间轴适用于连续的时间序列数据。 时间轴与数值轴相比设定了时间的格式,刻度计算也有差异。 #例如,范围范围决定是否使用月、周、日和时间范围的刻度。 # 'log '对数轴。 应用于对数数据。 axis_type: str='category ',#时间轴的类型。 可选的: # 'horizontal':水平# 'vertical':垂直orient: str='horizontal ',# timeline标记图形。 # ECharts提供的标记类型为' circle '、' rect '、' roundRect '、' triangle '、' diamond '、# 'pin '、' arrow '、' none' # ' 可以通过“none' #的symbol :选项[ str ]=none,# timeline标记的大小可以设置为单个数字,如10,也可以在数组中区分宽度和高度。 #例如,[ 20,10 ]表示标记宽度为20,高度为10。 symbol _ size : optional [ numeric ]=none,#表示再现速度(跳动的间隔),单位毫秒(ms )。 play _ interval 3360 optional [ numeric ]=none,#表示播放按钮的位置。 可选值:左、右。 是否自动播放control_position: str='left ',#? is_auto_play: bool=False,#是否循环播放。 is_loop_play: bool=True,#是否反向播放。 是否显示is_rewind_play: bool=False,timeline组件。 如果设置为false,则不显示,但功能仍然存在。 is_timeline_show: bool=True,# Timeline是否反向放置,反向则前端相反,is_inverse: bool=False,# Timeline组件# left的值可以是诸如20的具体像素值,诸如“20%”的容器彪的期望比例,或#可以是“left”、“center”或“right”。 如果#left的值为“left”、“center”或“right”,则组件根据相应的位置,选择pos _ left : optional [ str ]=none,# timeline组件# right值可以是具体像素值,诸如20%,也可以是容器彪形的所需比例,诸如“20%”。 pos _ right :选项[ str ]=none,# Timeline组件距容器顶部的距离。 # left的值可以是诸如20的具体像素值,诸如“20%”的容器彪的期望百分比,或者#可以是“顶”、“中”或“底”。 如果left的值为“top”、“middle”和“bottom”,则组件根据相应的位置,选择pos_top: Optional[str]=None,# timeline组件# bottom的值可以是像

20 这样的具体像素值,可以是像 '20%' 这样相对于容器彪壮的盼望的百分比。 pos_bottom: Optional[str] = "-5px", # 时间轴区域的宽度, 影响垂直的时候时间轴的轴标签和轴之间的距离 width: Optional[str] = None, # 时间轴区域的高度 height: Optional[str] = None, # 时间轴的坐标轴线配置,参考 `series_options.LineStyleOpts` linestyle_opts: Union[opts.LineStyleOpts, dict, None] = None, # 时间轴的轴标签配置,参考 `series_options.LabelOpts` label_opts: Optional[opts.LabelOpts] = None, # 时间轴的图形样式,参考 `series_options.ItemStyleOpts` itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None, # Graphic 样式 graphic_opts: types.Graphic = None, # 『当前项』(checkpoint)的图形样式。 checkpointstyle_opts: types.TimeLinkCheckPoint = None, # 控制按钮』的样式。『控制按钮』包括:『播放按钮』、『前进按钮』、『后退按钮』。 controlstyle_opts: types.TimeLineControl = None,) func pyecharts.charts.Timeline.add def add( # 图表实例 chart: Base, # 时间点 time_point: str) from pyecharts.charts import Bar, Timelinea = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]data = { 2014 : [800, 600, 901, 1234, 1290, 1330, 1620], 2015 : [700, 660, 920, 1204, 1250, 1000, 1420]}tl = Timeline()for i in data.keys(): bar = Bar() bar.add_xaxis(a) bar.add_yaxis("",data.get(i)) bar.set_global_opts({"text":"{}年销售额".format(i)}) tl.add(bar,"{}年".format(i))tl.add_schema(is_auto_play=True)tl.render() from pyecharts.charts import Line, Timelinea = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]b1 = [5, 20, 36, 10, 75, 90]b2 = [7, 25, 31, 14, 65, 100]line1 = Line()line1.add_xaxis(a)line1.add_yaxis("", b1)line2 = Line()line2.add_xaxis(a)line2.add_yaxis("", b2)tl = Timeline()tl.add(line1,"1")tl.add(line2,"2")tl.render_notebook() from ... import options as optsfrom ... import typesfrom ...charts.chart import Baseclass Timeline(Base): """ `Timeline` provides functions like switching and playing between multiple charts. """ def __init__(self, init_opts: types.Init = opts.InitOpts()): super().__init__(init_opts=init_opts) self.options = {"baseOption": {"series": [], "timeline": {}}, "options": []} self.add_schema() self._time_points: types.Sequence = [] def add_schema( self, axis_type: str = "category", orient: str = "horizontal", symbol: types.Optional[str] = None, symbol_size: types.Optional[types.Numeric] = None, play_interval: types.Optional[types.Numeric] = None, control_position: str = "left", is_auto_play: bool = False, is_loop_play: bool = True, is_rewind_play: bool = False, is_timeline_show: bool = True, is_inverse: bool = False, pos_left: types.Optional[str] = None, pos_right: types.Optional[str] = None, pos_top: types.Optional[str] = None, pos_bottom: types.Optional[str] = "-5px", width: types.Optional[str] = None, height: types.Optional[str] = None, linestyle_opts: types.Union[opts.LineStyleOpts, dict, None] = None, 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( { "axisType": axis_type, "orient": orient, "autoPlay": is_auto_play, "controlPosition": control_position, "loop": is_loop_play, "rewind": is_rewind_play, "show": is_timeline_show, "inverse": is_inverse, "symbol": symbol, "symbolSize": symbol_size, "playInterval": play_interval, "left": pos_left, "right": pos_right, "top": pos_top, "bottom": pos_bottom, "width": width, "height": height, "lineStyle": linestyle_opts, "label": label_opts, "itemStyle": itemstyle_opts, "graphic": graphic_opts, "checkpointStyle": checkpointstyle_opts, "controlStyle": controlstyle_opts, } ) return self def add(self, chart: Base, time_point: str): for dep in chart.js_dependencies.items: self.js_dependencies.add(dep) self._time_points.append(time_point) 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"), "yAxis": chart.options.get("yAxis"), "title": chart.options.get("title"), "tooltip": chart.options.get("tooltip"), "visualMap": chart.options.get("visualMap"), "color": chart.options.get("color"), "graphic": chart.options.get("graphic"), "bmap": chart.options.get("bmap"), } ) self.__check_components(chart) self.options.get("baseOption").update(series=chart.options.get("series")) return self def __check_components(self, chart: Base): components = [ "grid", "xAxis", "yAxis", "polar", "radiusAxis", "geo", "angleAxis", "radar", "visualMap", "dataZoom", "parallelAxis", ] for component in components: c = chart.options.get(component, None) if c is not None: self.options.get("baseOption").update({component: c})

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。