blob: 31a2edb29cb899c7b9cebdc3f015269aac83eab0 [file] [log] [blame]
{
"show": {
"desc": "\n\n<p>Whether to show the <code class=\"codespan\">timeline</code> component. It would not show with a setting of <code class=\"codespan\">false</code>, but its functions still remain.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"type": {
"desc": "<p>This attribute has only one valid value as <code class=\"codespan\">slider</code> by now. You don&#39;t have to change it.</p>\n"
},
"axisType": {
"desc": "<p>Type of axis, whose values may be:</p>\n<ul>\n<li><code class=\"codespan\">&#39;value&#39;</code>\n Numeric axis, which is suitable for continuous data.</li>\n<li><code class=\"codespan\">&#39;category&#39;</code>\n Category axis, which is suitable for category data.</li>\n<li><code class=\"codespan\">&#39;time&#39;</code>\n Time axis, which is suitable for continuous time data. Compared with value axis, time axis is equipped with time formatting function and has a different method when calculating axis ticks. For example, for time axis, axis ticks may vary in choosing unit as month, week, date, or hour based on the range of data.</li>\n</ul>\n"
},
"currentIndex": {
"desc": "\n\n<p>Indicates which is the currently selected item. For instance, if <code class=\"codespan\">currentIndex</code> is <code class=\"codespan\">0</code>, it indicates that the currently selected item is <code class=\"codespan\">timeline.data[0]</code> (namely, using <code class=\"codespan\">options[0]</code>).</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1"
}
},
"autoPlay": {
"desc": "\n\n<p>Whether to play automatically.</p>\n",
"uiControl": {
"type": "boolean"
}
},
"rewind": {
"desc": "\n\n<p>Whether supports playing reversely.</p>\n",
"uiControl": {
"type": "boolean"
}
},
"loop": {
"desc": "\n\n<p>Whether to loop playing.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"playInterval": {
"desc": "\n\n<p>Indicates play speed (gap time between two state), whose unit is millisecond.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "20",
"default": "2000"
}
},
"realtime": {
"desc": "\n\n<p>Whether the view updates in real time during dragging the control dot.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"controlPosition": {
"desc": "\n\n<p>Position of the play button, whose valid values are <code class=\"codespan\">&#39;left&#39;</code> and <code class=\"codespan\">&#39;right&#39;</code>.</p>\n",
"uiControl": {
"type": "enum",
"options": "left,right"
}
},
"zlevel": {
"desc": "<p><code class=\"codespan\">zlevel</code> value of all graphical elements in .</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and should be used carefully on mobile phones to avoid crash.</p>\n<p>Canvases with bigger <code class=\"codespan\">zlevel</code> will be placed on Canvases with smaller <code class=\"codespan\">zlevel</code>.</p>\n"
},
"z": {
"desc": "<p><code class=\"codespan\">z</code> value of all graphical elements in , which controls order of drawing graphical components. Components with smaller <code class=\"codespan\">z</code> values may be overwritten by those with larger <code class=\"codespan\">z</code> values.</p>\n<p><code class=\"codespan\">z</code> has a lower priority to <code class=\"codespan\">zlevel</code>, and will not create new Canvas.</p>\n"
},
"left": {
"desc": "<p>Distance between timeline component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If the <code class=\"codespan\">left</code> value is set to be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>, then the component will be aligned automatically based on position.</p>\n",
"uiControl": {
"type": "percent",
"default": "0%"
}
},
"top": {
"desc": "<p>Distance between timeline component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If the <code class=\"codespan\">left</code> value is set to be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>, then the component will be aligned automatically based on position.</p>\n",
"uiControl": {
"type": "percent",
"default": "0%"
}
},
"right": {
"desc": "<p>Distance between timeline component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p>Adaptive by default.</p>\n",
"uiControl": {
"type": "percent",
"default": "0%"
}
},
"bottom": {
"desc": "<p>Distance between timeline component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p>Adaptive by default.</p>\n",
"uiControl": {
"type": "percent",
"default": "0%"
}
},
"padding": {
"desc": "\n\n\n\n\n\n<p>timeline space around content. The unit is px. Default values for each position are 5. And they can be set to different values with left, right, top, and bottom.</p>\n<p>Examples: </p>\n<pre><code class=\"lang-js\">// Set padding to be 5\npadding: 5\n// Set the top and bottom paddings to be 5, and left and right paddings to be 10\npadding: [5, 10]\n// Set each of the four paddings seperately\npadding: [\n 5, // up\n 10, // right\n 5, // down\n 10, // left\n]\n</code></pre>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"orient": {
"desc": "\n\n<p>Orientation of the component, whose valid values are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;vertical&#39;</code>: vertical layout.</li>\n<li><code class=\"codespan\">&#39;horizontal&#39;</code>: horizontal layout.</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"options": "horizontal,vertical",
"default": "horizontal"
}
},
"inverse": {
"desc": "\n\n<ul>\n<li>Whether to put the <code class=\"codespan\">timeline</code> component reversely, which makes the elements in the front to be at the end.</li>\n</ul>\n",
"uiControl": {
"type": "boolean"
}
},
"symbol": {
"desc": "\n\n<p>Symbol of timeline.</p>\n<p>Icon types provided by ECharts includes</p>\n<p><code class=\"codespan\">&#39;circle&#39;</code>, <code class=\"codespan\">&#39;rect&#39;</code>, <code class=\"codespan\">&#39;roundRect&#39;</code>, <code class=\"codespan\">&#39;triangle&#39;</code>, <code class=\"codespan\">&#39;diamond&#39;</code>, <code class=\"codespan\">&#39;pin&#39;</code>, <code class=\"codespan\">&#39;arrow&#39;</code>, <code class=\"codespan\">&#39;none&#39;</code></p>\n<p>It can be set to an image with <code class=\"codespan\">&#39;image://url&#39;</code> , in which URL is the link to an image, or <code class=\"codespan\">dataURI</code> of an image.</p>\n<p>An image URL example:</p>\n<pre><code>&#39;image://http://xxx.xxx.xxx/a/b.png&#39;\n</code></pre><p>A <code class=\"codespan\">dataURI</code> example:</p>\n<pre><code>&#39;image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7&#39;\n</code></pre><p>Icons can be set to arbitrary vector path via <code class=\"codespan\">&#39;path://&#39;</code> in ECharts. As compared with a raster image, vector paths prevent jagging and blurring when scaled, and have better control over changing colors. The size of the vector icon will be adapted automatically. Refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a> for more information about the format of the path. You may export vector paths from tools like Adobe </p>\n<p>For example:</p>\n<pre><code>&#39;path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z&#39;\n</code></pre>",
"uiControl": {
"type": "icon",
"default": "circle"
}
},
"symbolSize": {
"desc": "\n\n<p>timeline symbol size. It can be set to single numbers like <code class=\"codespan\">10</code>, or use an array to represent width and height. For example, <code class=\"codespan\">[20, 10]</code> means symbol width is <code class=\"codespan\">20</code>, and height is<code class=\"codespan\">10</code>.</p>\n",
"uiControl": {
"type": "number",
"min": "0"
}
},
"symbolRotate": {
"desc": "\n\n<p>Rotate degree of timeline symbol. The negative value represents clockwise. Note that when <code class=\"codespan\">symbol</code> is set to be <code class=\"codespan\">&#39;arrow&#39;</code> in <code class=\"codespan\">markLine</code>, <code class=\"codespan\">symbolRotate</code> value will be ignored, and compulsively use tangent angle.</p>\n",
"uiControl": {
"type": "angle",
"min": "-180",
"max": "180",
"step": "1"
}
},
"symbolKeepAspect": {
"desc": "\n\n<p>Whether to keep aspect for symbols in the form of <code class=\"codespan\">path://</code>.</p>\n",
"uiControl": {
"type": "boolean",
"clean": "true"
}
},
"symbolOffset": {
"desc": "\n\n<p>Offset of timeline symbol relative to original position. By default, symbol will be put in the center position of data. But if symbol is from user-defined vector path or image, you may not expect symbol to be in center. In this case, you may use this attribute to set offset to default position. It can be in absolute pixel value, or in relative percentage value.</p>\n<p>For example, <code class=\"codespan\">[0, &#39;50%&#39;]</code> means to move upside side position of symbol height. It can be used to make the arrow in the bottom to be at data position when symbol is pin.</p>\n",
"uiControl": {
"type": "vector",
"separate": "true",
"dims": "x,y"
}
},
"lineStyle.show": {
"desc": "\n\n<p>Whether to show the axis. It can be set to be <code class=\"codespan\">false</code> to hide the axis line to make a different style.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"lineStyle.color": {
"desc": "\n\n<p>timeline Line color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"lineStyle.width": {
"desc": "\n\n<p>timeline line width.</p>\n",
"uiControl": {
"type": "number",
"value": "2",
"min": "0",
"step": "0.5"
}
},
"lineStyle.type": {
"desc": "\n\n<p>timeline line type.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;solid&#39;</code></li>\n<li><code class=\"codespan\">&#39;dashed&#39;</code></li>\n<li><code class=\"codespan\">&#39;dotted&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"lineStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "",
"min": "0",
"step": "0.5"
}
},
"lineStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": ""
}
},
"lineStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"lineStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"lineStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"label": {
"desc": "<p>Label axis, <code class=\"codespan\">emphasis</code> is the highlighted style of text. For instance, text style in <code class=\"codespan\">emphasis</code> would be used when mouse hovers or legend connects.</p>\n"
},
"label.position": {
"desc": "\n\n\n\n<p>Configurations:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;auto&#39;</code>:\n Automatic layout.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;left&#39;</code>:\n Put it along the left margin.\n It is valid when <a href=\"#timeline.orient\">timline.orient</a> is set as <code class=\"codespan\">&#39;horizontal&#39;</code> .</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code>:\n Put it along the right margin.\n It is valid when <a href=\"#timeline.orient\">timline.orient</a> is set as <code class=\"codespan\">&#39;horizontal&#39;</code>.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;top&#39;</code>:\n Put it along the margin of the top.\n It is valid when <a href=\"#timeline.orient\">timline.orient</a> is set as <code class=\"codespan\">&#39;vertical&#39;</code>.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;bottom&#39;</code>:\n Put it along the margin of the bottom.\n It is valid when <a href=\"#timeline.orient\">timline.orient</a> is set as <code class=\"codespan\">&#39;vertical&#39;</code>.</p>\n</li>\n<li><p><code class=\"codespan\">number</code>:\n When it is assigned to be a a number value, it indicates the distance between <code class=\"codespan\">label</code> and axis. If it is set to be <code class=\"codespan\">0</code> , <code class=\"codespan\">label</code> would be at the same position with axis. Negative value is valid for the other side of the axis.</p>\n</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"options": "auto,left,right,top,bottom"
}
},
"label.show": {
"desc": "\n\n<p>Whether to show the label.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"label.interval": {
"desc": "<p>Interval of <code class=\"codespan\">label</code>. When it is assigned with a numerical value, such as <code class=\"codespan\">2</code>, a label would show every 2 items.</p>\n"
},
"label.rotate": {
"desc": "<p>Rotation angle of <code class=\"codespan\">label</code>, in which positive values refer to counter clockwise rotation.</p>\n"
},
"label.formatter": {
"desc": "<p>Formatter of axis label, which supports string template and callback function.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">// Use string template; template variable is the default label of axis {value}\nformatter: &#39;{value} kg&#39;\n\n// Use callback function; function parameters are axis index\nformatter: function (value, index) {\n // Formatted to be month/day; display year only in the first label\n var date = new Date(value);\n var texts = [(date.getMonth() + 1), date.getDate()];\n if (idx === 0) {\n texts.unshift(date.getYear());\n }\n return texts.join(&#39;/&#39;);\n}\n</code></pre>\n"
},
"label.color": {
"desc": "\n\n<p>timeline.lable text color.</p>\n",
"uiControl": {
"type": "color",
"default": "'#A4B1D7'"
}
},
"label.fontStyle": {
"desc": "\n\n<p>timeline.lable font style.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;italic&#39;</code></li>\n<li><code class=\"codespan\">&#39;oblique&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,italic,oblique"
}
},
"label.fontWeight": {
"desc": "\n\n<p>timeline.lable font thick weight.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,bold,bolder,lighter"
}
},
"label.fontFamily": {
"desc": "\n\n<p>timeline.lable font family.</p>\n<p>Can also be &#39;serif&#39; , &#39;monospace&#39;, ...</p>\n",
"uiControl": {
"type": "enum",
"default": "sans-serif",
"options": "sans-serif,serif,monospace,Arial,Courier New"
}
},
"label.fontSize": {
"desc": "\n\n<p>timeline.lable font size.</p>\n",
"uiControl": {
"type": "number",
"default": "12",
"min": "1",
"step": "1"
}
},
"label.align": {
"desc": "\n\n<p>Horizontal alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;left&#39;</code></li>\n<li><code class=\"codespan\">&#39;center&#39;</code></li>\n<li><code class=\"codespan\">&#39;right&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">align</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">align</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n align: right,\n rich: {\n a: {\n // `align` is not set, then it will be right\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "left,center,right"
}
},
"label.verticalAlign": {
"desc": "\n\n<p>Vertical alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;top&#39;</code></li>\n<li><code class=\"codespan\">&#39;middle&#39;</code></li>\n<li><code class=\"codespan\">&#39;bottom&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">verticalAlign</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">verticalAlign</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n verticalAlign: bottom,\n rich: {\n a: {\n // `verticalAlign` is not set, then it will be bottom\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "top,middle,bottom"
}
},
"label.lineHeight": {
"desc": "\n\n<p>Line height of the text fragment.</p>\n<p>If <code class=\"codespan\">lineHeight</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">lineHeight</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n lineHeight: 56,\n rich: {\n a: {\n // `lineHeight` is not set, then it will be 56\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1",
"default": "12"
}
},
"label.backgroundColor": {
"desc": "\n\n<p>Background color of the text fragment.</p>\n<p>Can be color string, like <code class=\"codespan\">&#39;#123234&#39;</code>, <code class=\"codespan\">&#39;red&#39;</code>, <code class=\"codespan\">&#39;rgba(0,23,11,0.3)&#39;</code>.</p>\n<p>Or image can be used, for example:</p>\n<pre><code class=\"lang-js\">backgroundColor: {\n image: &#39;xxx/xxx.png&#39;\n // It can be URL of a image,\n // or dataURI,\n // or HTMLImageElement,\n // or HTMLCanvasElement.\n}\n</code></pre>\n<p><code class=\"codespan\">width</code> or <code class=\"codespan\">height</code> can be specified when using background image, or\nauto adapted by default.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"label.borderColor": {
"desc": "\n\n<p>Border color of the text fragment.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"label.borderWidth": {
"desc": "\n\n<p>Border width of the text fragment.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.borderRadius": {
"desc": "\n\n<p>Border radius of the text fragment.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "LT,RT, RB, LB"
}
},
"label.padding": {
"desc": "\n\n<p>Padding of the text fragment, for example:</p>\n<ul>\n<li><code class=\"codespan\">padding: [3, 4, 5, 6]</code>: represents padding of <code class=\"codespan\">[top, right, bottom, left]</code>.</li>\n<li><code class=\"codespan\">padding: 4</code>: represents <code class=\"codespan\">padding: [4, 4, 4, 4]</code>.</li>\n<li><code class=\"codespan\">padding: [3, 4]</code>: represents <code class=\"codespan\">padding: [3, 4, 3, 4]</code>.</li>\n</ul>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"label.shadowColor": {
"desc": "\n\n<p>Shadow color of the text block.</p>\n",
"uiControl": {
"type": "color"
}
},
"label.shadowBlur": {
"desc": "\n\n<p>Show blur of the text block.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.shadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.shadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.width": {
"desc": "\n\n<p>Width of text block.</p>\n",
"uiControl": {
"type": "number",
"default": "50",
"min": "1",
"max": "200",
"step": "1"
}
},
"label.height": {
"desc": "\n\n<p>Height of text block.</p>\n",
"uiControl": {
"type": "number",
"default": "50",
"min": "1",
"max": "200",
"step": "1"
}
},
"label.textBorderColor": {
"desc": "\n\n<p>Storke color of the text.</p>\n",
"uiControl": {
"type": "color"
}
},
"label.textBorderWidth": {
"desc": "\n\n<p>Storke line width of the text.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.textShadowColor": {
"desc": "\n\n<p>Shadow color of the text itself.</p>\n",
"uiControl": {
"type": "color",
"default": "#000"
}
},
"label.textShadowBlur": {
"desc": "\n\n<p>Shadow blue of the text itself.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.textShadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.textShadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.overflow": {
"desc": "\n\n<p>Determine how to display the text when it&#39;s overflow. Available when <code class=\"codespan\">width</code> is set.</p>\n<ul>\n<li><code class=\"codespan\">&#39;truncate&#39;</code> Truncate the text and trailing with <code class=\"codespan\">ellipsis</code>.</li>\n<li><code class=\"codespan\">&#39;break&#39;</code> Break by word</li>\n<li><code class=\"codespan\">&#39;breakAll&#39;</code> Break by character.</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"options": "truncate,break,breakAll"
}
},
"label.ellipsis": {
"desc": "<p>Ellipsis to be displayed when <code class=\"codespan\">overflow</code> is set to <code class=\"codespan\">truncate</code>.</p>\n"
},
"label.lineOverflow": {
"desc": "<p>Determine how to display the text when it&#39;s overflow on height.</p>\n<ul>\n<li><code class=\"codespan\">&#39;truncate&#39;</code> Truncate the overflow lines.</li>\n</ul>\n"
},
"label.rich": {
"desc": "<p>&quot;Rich text styles&quot; can be defined in this <code class=\"codespan\">rich</code> property. For example:</p>\n<pre><code class=\"lang-js\">label: {\n // Styles defined in &#39;rich&#39; can be applied to some fragments\n // of text by adding some markers to those fragment, like\n // `{styleName|text content text content}`.\n // `&#39;\\n&#39;` is the newline character.\n formatter: [\n &#39;{a|Style &quot;a&quot; is applied to this snippet}&#39;\n &#39;{b|Style &quot;b&quot; is applied to this snippet}This snippet use default style{x|use style &quot;x&quot;}&#39;\n ].join(&#39;\\n&#39;),\n\n rich: {\n a: {\n color: &#39;red&#39;,\n lineHeight: 10\n },\n b: {\n backgroundColor: {\n image: &#39;xxx/xxx.jpg&#39;\n },\n height: 40\n },\n x: {\n fontSize: 18,\n fontFamily: &#39;Microsoft YaHei&#39;,\n borderColor: &#39;#449933&#39;,\n borderRadius: 4\n },\n ...\n }\n}\n</code></pre>\n<p>For more details, see <a href=\"tutorial.html#Rich%20Text\" target=\"_blank\">Rich Text</a> please.</p>\n"
},
"label.rich.<style_name>.color": {
"desc": "\n\n<p> text color.</p>\n",
"uiControl": {
"type": "color",
"default": "null"
}
},
"label.rich.<style_name>.fontStyle": {
"desc": "\n\n<p> font style.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;italic&#39;</code></li>\n<li><code class=\"codespan\">&#39;oblique&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,italic,oblique"
}
},
"label.rich.<style_name>.fontWeight": {
"desc": "\n\n<p> font thick weight.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,bold,bolder,lighter"
}
},
"label.rich.<style_name>.fontFamily": {
"desc": "\n\n<p> font family.</p>\n<p>Can also be &#39;serif&#39; , &#39;monospace&#39;, ...</p>\n",
"uiControl": {
"type": "enum",
"default": "sans-serif",
"options": "sans-serif,serif,monospace,Arial,Courier New"
}
},
"label.rich.<style_name>.fontSize": {
"desc": "\n\n<p> font size.</p>\n",
"uiControl": {
"type": "number",
"default": "12",
"min": "1",
"step": "1"
}
},
"label.rich.<style_name>.align": {
"desc": "\n\n<p>Horizontal alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;left&#39;</code></li>\n<li><code class=\"codespan\">&#39;center&#39;</code></li>\n<li><code class=\"codespan\">&#39;right&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">align</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">align</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n align: right,\n rich: {\n a: {\n // `align` is not set, then it will be right\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "left,center,right"
}
},
"label.rich.<style_name>.verticalAlign": {
"desc": "\n\n<p>Vertical alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;top&#39;</code></li>\n<li><code class=\"codespan\">&#39;middle&#39;</code></li>\n<li><code class=\"codespan\">&#39;bottom&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">verticalAlign</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">verticalAlign</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n verticalAlign: bottom,\n rich: {\n a: {\n // `verticalAlign` is not set, then it will be bottom\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "top,middle,bottom"
}
},
"label.rich.<style_name>.lineHeight": {
"desc": "\n\n<p>Line height of the text fragment.</p>\n<p>If <code class=\"codespan\">lineHeight</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">lineHeight</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n lineHeight: 56,\n rich: {\n a: {\n // `lineHeight` is not set, then it will be 56\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1",
"default": "12"
}
},
"label.rich.<style_name>.backgroundColor": {
"desc": "\n\n<p>Background color of the text fragment.</p>\n<p>Can be color string, like <code class=\"codespan\">&#39;#123234&#39;</code>, <code class=\"codespan\">&#39;red&#39;</code>, <code class=\"codespan\">&#39;rgba(0,23,11,0.3)&#39;</code>.</p>\n<p>Or image can be used, for example:</p>\n<pre><code class=\"lang-js\">backgroundColor: {\n image: &#39;xxx/xxx.png&#39;\n // It can be URL of a image,\n // or dataURI,\n // or HTMLImageElement,\n // or HTMLCanvasElement.\n}\n</code></pre>\n<p><code class=\"codespan\">width</code> or <code class=\"codespan\">height</code> can be specified when using background image, or\nauto adapted by default.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"label.rich.<style_name>.borderColor": {
"desc": "\n\n<p>Border color of the text fragment.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"label.rich.<style_name>.borderWidth": {
"desc": "\n\n<p>Border width of the text fragment.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.rich.<style_name>.borderRadius": {
"desc": "\n\n<p>Border radius of the text fragment.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "LT,RT, RB, LB"
}
},
"label.rich.<style_name>.padding": {
"desc": "\n\n<p>Padding of the text fragment, for example:</p>\n<ul>\n<li><code class=\"codespan\">padding: [3, 4, 5, 6]</code>: represents padding of <code class=\"codespan\">[top, right, bottom, left]</code>.</li>\n<li><code class=\"codespan\">padding: 4</code>: represents <code class=\"codespan\">padding: [4, 4, 4, 4]</code>.</li>\n<li><code class=\"codespan\">padding: [3, 4]</code>: represents <code class=\"codespan\">padding: [3, 4, 3, 4]</code>.</li>\n</ul>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"label.rich.<style_name>.shadowColor": {
"desc": "\n\n<p>Shadow color of the text block.</p>\n",
"uiControl": {
"type": "color"
}
},
"label.rich.<style_name>.shadowBlur": {
"desc": "\n\n<p>Show blur of the text block.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.rich.<style_name>.shadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.rich.<style_name>.shadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.rich.<style_name>.width": {
"desc": "<p>Width of the text block. It is the width of the text by default. In most cases, there is no need to specify it. You may want to use it in some cases like make simple table or using background image (see <code class=\"codespan\">backgroundColor</code>).</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n<p><code class=\"codespan\">width</code> can also be percent string, like <code class=\"codespan\">&#39;100%&#39;</code>, which represents the percent of <code class=\"codespan\">contentWidth</code> (that is, the width without <code class=\"codespan\">padding</code>) of its container box. It is based on <code class=\"codespan\">contentWidth</code> because that each text fragment is layout based on the <code class=\"codespan\">content box</code>, where it makes no sense that calculating width based on <code class=\"codespan\">outerWith</code> in prectice.</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> only work when <code class=\"codespan\">rich</code> specified.</p>\n"
},
"label.rich.<style_name>.height": {
"desc": "<p>Height of the text block. It is the width of the text by default. You may want to use it in some cases like using background image (see <code class=\"codespan\">backgroundColor</code>).</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> only work when <code class=\"codespan\">rich</code> specified.</p>\n"
},
"label.rich.<style_name>.textBorderColor": {
"desc": "\n\n<p>Storke color of the text.</p>\n",
"uiControl": {
"type": "color"
}
},
"label.rich.<style_name>.textBorderWidth": {
"desc": "\n\n<p>Storke line width of the text.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.rich.<style_name>.textShadowColor": {
"desc": "\n\n<p>Shadow color of the text itself.</p>\n",
"uiControl": {
"type": "color",
"default": "#000"
}
},
"label.rich.<style_name>.textShadowBlur": {
"desc": "\n\n<p>Shadow blue of the text itself.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"label.rich.<style_name>.textShadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"label.rich.<style_name>.textShadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"itemStyle": {
"desc": "<p>Graphic style of timeline , <code class=\"codespan\">emphasis</code> is the style when it is highlighted, like being hovered by mouse, or highlighted via legend connect.</p>\n"
},
"itemStyle.color": {
"desc": "\n\n<p>timeline color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"itemStyle.borderColor": {
"desc": "\n\n<p>timeline border color, whose format is similar to that of <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color"
}
},
"itemStyle.borderWidth": {
"desc": "\n\n<p>timeline border width. No border when it is set to be 0.</p>\n",
"uiControl": {
"type": "number",
"value": "1",
"min": "0",
"step": "0.5"
}
},
"itemStyle.borderType": {
"desc": "\n\n<p>Border type, which can be <code class=\"codespan\">&#39;solid&#39;</code>, <code class=\"codespan\">&#39;dashed&#39;</code>, or <code class=\"codespan\">&#39;dotted&#39;</code>. <code class=\"codespan\">&#39;solid&#39;</code> by default.</p>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"itemStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "",
"min": "0",
"step": "0.5"
}
},
"itemStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": ""
}
},
"itemStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"itemStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"itemStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"checkpointStyle": {
"desc": "<p>Style of the selected item (<code class=\"codespan\">checkpoint</code>).</p>\n"
},
"checkpointStyle.symbol": {
"desc": "\n\n<p>Symbol of timeline.checkpointStyle .</p>\n<p>Icon types provided by ECharts includes</p>\n<p><code class=\"codespan\">&#39;circle&#39;</code>, <code class=\"codespan\">&#39;rect&#39;</code>, <code class=\"codespan\">&#39;roundRect&#39;</code>, <code class=\"codespan\">&#39;triangle&#39;</code>, <code class=\"codespan\">&#39;diamond&#39;</code>, <code class=\"codespan\">&#39;pin&#39;</code>, <code class=\"codespan\">&#39;arrow&#39;</code>, <code class=\"codespan\">&#39;none&#39;</code></p>\n<p>It can be set to an image with <code class=\"codespan\">&#39;image://url&#39;</code> , in which URL is the link to an image, or <code class=\"codespan\">dataURI</code> of an image.</p>\n<p>An image URL example:</p>\n<pre><code>&#39;image://http://xxx.xxx.xxx/a/b.png&#39;\n</code></pre><p>A <code class=\"codespan\">dataURI</code> example:</p>\n<pre><code>&#39;image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7&#39;\n</code></pre><p>Icons can be set to arbitrary vector path via <code class=\"codespan\">&#39;path://&#39;</code> in ECharts. As compared with a raster image, vector paths prevent jagging and blurring when scaled, and have better control over changing colors. The size of the vector icon will be adapted automatically. Refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a> for more information about the format of the path. You may export vector paths from tools like Adobe </p>\n<p>For example:</p>\n<pre><code>&#39;path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z&#39;\n</code></pre>",
"uiControl": {
"type": "icon",
"default": "circle"
}
},
"checkpointStyle.symbolSize": {
"desc": "\n\n<p>timeline.checkpointStyle symbol size. It can be set to single numbers like <code class=\"codespan\">10</code>, or use an array to represent width and height. For example, <code class=\"codespan\">[20, 10]</code> means symbol width is <code class=\"codespan\">20</code>, and height is<code class=\"codespan\">10</code>.</p>\n",
"uiControl": {
"type": "number",
"min": "0"
}
},
"checkpointStyle.symbolRotate": {
"desc": "\n\n<p>Rotate degree of timeline.checkpointStyle symbol. The negative value represents clockwise. Note that when <code class=\"codespan\">symbol</code> is set to be <code class=\"codespan\">&#39;arrow&#39;</code> in <code class=\"codespan\">markLine</code>, <code class=\"codespan\">symbolRotate</code> value will be ignored, and compulsively use tangent angle.</p>\n",
"uiControl": {
"type": "angle",
"min": "-180",
"max": "180",
"step": "1"
}
},
"checkpointStyle.symbolKeepAspect": {
"desc": "\n\n<p>Whether to keep aspect for symbols in the form of <code class=\"codespan\">path://</code>.</p>\n",
"uiControl": {
"type": "boolean",
"clean": "true"
}
},
"checkpointStyle.symbolOffset": {
"desc": "\n\n<p>Offset of timeline.checkpointStyle symbol relative to original position. By default, symbol will be put in the center position of data. But if symbol is from user-defined vector path or image, you may not expect symbol to be in center. In this case, you may use this attribute to set offset to default position. It can be in absolute pixel value, or in relative percentage value.</p>\n<p>For example, <code class=\"codespan\">[0, &#39;50%&#39;]</code> means to move upside side position of symbol height. It can be used to make the arrow in the bottom to be at data position when symbol is pin.</p>\n",
"uiControl": {
"type": "vector",
"separate": "true",
"dims": "x,y"
}
},
"checkpointStyle.color": {
"desc": "\n\n<p> color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"checkpointStyle.borderColor": {
"desc": "\n\n<p> border color, whose format is similar to that of <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color"
}
},
"checkpointStyle.borderWidth": {
"desc": "\n\n<p> border width. No border when it is set to be 0.</p>\n",
"uiControl": {
"type": "number",
"value": "2",
"min": "0",
"step": "0.5"
}
},
"checkpointStyle.borderType": {
"desc": "\n\n<p>Border type, which can be <code class=\"codespan\">&#39;solid&#39;</code>, <code class=\"codespan\">&#39;dashed&#39;</code>, or <code class=\"codespan\">&#39;dotted&#39;</code>. <code class=\"codespan\">&#39;solid&#39;</code> by default.</p>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"checkpointStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "2",
"min": "0",
"step": "0.5"
}
},
"checkpointStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": "&#39;rgba(0, 0, 0, 0.3)&#39;"
}
},
"checkpointStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"step": "0.5"
}
},
"checkpointStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"step": "0.5"
}
},
"checkpointStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"checkpointStyle.animation": {
"desc": "\n\n<p>In <code class=\"codespan\">timeline</code> component, whether there is animation in <code class=\"codespan\">checkpoint</code> moving during the process of <code class=\"codespan\">timeline</code> playing and switching.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"checkpointStyle.animationDuration": {
"desc": "\n\n<p>The animation duration of <code class=\"codespan\">checkpoint</code> in <code class=\"codespan\">timeline</code> component.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "20",
"default": "300"
}
},
"checkpointStyle.animationEasing": {
"desc": "\n\n<p>The easing effect of animation of <code class=\"codespan\">checkpoint</code> in <code class=\"codespan\">timeline</code> component. Refers to <a href=\"https://echarts.apache.org/next/examples/en/view.html?c=line-easing\" target=\"_blank\">easing sample</a> for different easing effects.</p>\n",
"uiControl": {
"type": "enum",
"default": "quinticInOut",
"options": "linear,quadraticIn,quadraticOut,quadraticInOut,cubicIn,cubicOut,cubicInOut,quarticIn,quarticOut,quarticInOut,quinticIn,quinticOut,quinticInOut,sinusoidalIn,sinusoidalOut,sinusoidalInOut,exponentialIn,exponentialOut,exponentialInOut,circularIn,circularOut,circularInOut,elasticIn,elasticOut,elasticInOut,backIn,backOut,backInOut,bounceIn,bounceOut,bounceInOut"
}
},
"controlStyle": {
"desc": "<p>The style of <em>control button</em>, which includes: <em>play button</em>, <em>previous button</em>, and <em>next button</em>.</p>\n"
},
"controlStyle.show": {
"desc": "\n\n<p>Whether to show control button. <code class=\"codespan\">false</code> for hide all.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"controlStyle.showPlayBtn": {
"desc": "\n\n<p>Whether to show play button.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"controlStyle.showPrevBtn": {
"desc": "\n\n<p>Whether to show previous button.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"controlStyle.showNextBtn": {
"desc": "\n\n<p>Whether to show next button.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"controlStyle.itemSize": {
"desc": "\n\n<p>Size of <em>control button</em>, in pixels (px).</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5",
"default": "22"
}
},
"controlStyle.itemGap": {
"desc": "\n\n<p>Interval between <em>control button</em>, in pixels (px).</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5",
"default": "12"
}
},
"controlStyle.position": {
"desc": "\n\n<p>the location of <em>control button</em>.</p>\n<ul>\n<li><p>When <a href=\"#timeline.orient\">timeline.orient</a> is set to be <code class=\"codespan\">&#39;horizontal&#39;</code>, <code class=\"codespan\">&#39;left&#39;</code> and <code class=\"codespan\">&#39;right&#39;</code>are valid.</p>\n</li>\n<li><p>When <a href=\"#timeline.orient\">timeline.orient</a> is set to be <code class=\"codespan\">&#39;vertical&#39;</code>, <code class=\"codespan\">&#39;top&#39;</code> and <code class=\"codespan\">&#39;bottom&#39;</code>are valid.</p>\n</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"options": "left,right,top,bottom"
}
},
"controlStyle.playIcon": {
"desc": "\n\n<p>Icon of <em>play status</em> for <em>play button</em>.</p>\n<p>It can be set to an image with <code class=\"codespan\">&#39;image://url&#39;</code> , in which URL is the link to an image, or <code class=\"codespan\">dataURI</code> of an image.</p>\n<p>An image URL example:</p>\n<pre><code>&#39;image://http://xxx.xxx.xxx/a/b.png&#39;\n</code></pre><p>A <code class=\"codespan\">dataURI</code> example:</p>\n<pre><code>&#39;image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7&#39;\n</code></pre><p>Icons can be set to arbitrary vector path via <code class=\"codespan\">&#39;path://&#39;</code> in ECharts. As compared with a raster image, vector paths prevent jagging and blurring when scaled, and have better control over changing colors. The size of the vector icon will be adapted automatically. Refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a> for more information about the format of the path. You may export vector paths from tools like Adobe </p>\n<p>For example:</p>\n<pre><code>&#39;path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z&#39;\n</code></pre>",
"uiControl": {
"type": "icon"
}
},
"controlStyle.stopIcon": {
"desc": "\n\n<p>Icon of <em>stop status</em> for <em>play button</em>.</p>\n<p>It can be set to an image with <code class=\"codespan\">&#39;image://url&#39;</code> , in which URL is the link to an image, or <code class=\"codespan\">dataURI</code> of an image.</p>\n<p>An image URL example:</p>\n<pre><code>&#39;image://http://xxx.xxx.xxx/a/b.png&#39;\n</code></pre><p>A <code class=\"codespan\">dataURI</code> example:</p>\n<pre><code>&#39;image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7&#39;\n</code></pre><p>Icons can be set to arbitrary vector path via <code class=\"codespan\">&#39;path://&#39;</code> in ECharts. As compared with a raster image, vector paths prevent jagging and blurring when scaled, and have better control over changing colors. The size of the vector icon will be adapted automatically. Refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a> for more information about the format of the path. You may export vector paths from tools like Adobe </p>\n<p>For example:</p>\n<pre><code>&#39;path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z&#39;\n</code></pre>",
"uiControl": {
"type": "icon"
}
},
"controlStyle.prevIcon": {
"desc": "\n\n<p>Icon of <em>previous button</em>.</p>\n<p>It can be set to an image with <code class=\"codespan\">&#39;image://url&#39;</code> , in which URL is the link to an image, or <code class=\"codespan\">dataURI</code> of an image.</p>\n<p>An image URL example:</p>\n<pre><code>&#39;image://http://xxx.xxx.xxx/a/b.png&#39;\n</code></pre><p>A <code class=\"codespan\">dataURI</code> example:</p>\n<pre><code>&#39;image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7&#39;\n</code></pre><p>Icons can be set to arbitrary vector path via <code class=\"codespan\">&#39;path://&#39;</code> in ECharts. As compared with a raster image, vector paths prevent jagging and blurring when scaled, and have better control over changing colors. The size of the vector icon will be adapted automatically. Refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a> for more information about the format of the path. You may export vector paths from tools like Adobe </p>\n<p>For example:</p>\n<pre><code>&#39;path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z&#39;\n</code></pre>",
"uiControl": {
"type": "icon"
}
},
"controlStyle.nextIcon": {
"desc": "\n\n<p>Icon of <em>next button</em>.</p>\n<p>It can be set to an image with <code class=\"codespan\">&#39;image://url&#39;</code> , in which URL is the link to an image, or <code class=\"codespan\">dataURI</code> of an image.</p>\n<p>An image URL example:</p>\n<pre><code>&#39;image://http://xxx.xxx.xxx/a/b.png&#39;\n</code></pre><p>A <code class=\"codespan\">dataURI</code> example:</p>\n<pre><code>&#39;image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7&#39;\n</code></pre><p>Icons can be set to arbitrary vector path via <code class=\"codespan\">&#39;path://&#39;</code> in ECharts. As compared with a raster image, vector paths prevent jagging and blurring when scaled, and have better control over changing colors. The size of the vector icon will be adapted automatically. Refer to <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a> for more information about the format of the path. You may export vector paths from tools like Adobe </p>\n<p>For example:</p>\n<pre><code>&#39;path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z&#39;\n</code></pre>",
"uiControl": {
"type": "icon"
}
},
"controlStyle.color": {
"desc": "\n\n<p> color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"controlStyle.borderColor": {
"desc": "\n\n<p> border color, whose format is similar to that of <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color"
}
},
"controlStyle.borderWidth": {
"desc": "\n\n<p> border width. No border when it is set to be 0.</p>\n",
"uiControl": {
"type": "number",
"value": "1",
"min": "0",
"step": "0.5"
}
},
"controlStyle.borderType": {
"desc": "\n\n<p>Border type, which can be <code class=\"codespan\">&#39;solid&#39;</code>, <code class=\"codespan\">&#39;dashed&#39;</code>, or <code class=\"codespan\">&#39;dotted&#39;</code>. <code class=\"codespan\">&#39;solid&#39;</code> by default.</p>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"controlStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "",
"min": "0",
"step": "0.5"
}
},
"controlStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": ""
}
},
"controlStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"controlStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"controlStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"progress": {
"desc": "<p>Styles of line, labels and symbols in progress.</p>\n"
},
"progress.lineStyle.color": {
"desc": "\n\n<p>Line color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"progress.lineStyle.width": {
"desc": "\n\n<p> line width.</p>\n",
"uiControl": {
"type": "number",
"value": "1",
"min": "0",
"step": "0.5"
}
},
"progress.lineStyle.type": {
"desc": "\n\n<p> line type.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;solid&#39;</code></li>\n<li><code class=\"codespan\">&#39;dashed&#39;</code></li>\n<li><code class=\"codespan\">&#39;dotted&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"progress.lineStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "",
"min": "0",
"step": "0.5"
}
},
"progress.lineStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": ""
}
},
"progress.lineStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"progress.lineStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"progress.lineStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"progress.itemStyle.color": {
"desc": "\n\n<p> color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"progress.itemStyle.borderColor": {
"desc": "\n\n<p> border color, whose format is similar to that of <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color"
}
},
"progress.itemStyle.borderWidth": {
"desc": "\n\n<p> border width. No border when it is set to be 0.</p>\n",
"uiControl": {
"type": "number",
"value": "0",
"min": "0",
"step": "0.5"
}
},
"progress.itemStyle.borderType": {
"desc": "\n\n<p>Border type, which can be <code class=\"codespan\">&#39;solid&#39;</code>, <code class=\"codespan\">&#39;dashed&#39;</code>, or <code class=\"codespan\">&#39;dotted&#39;</code>. <code class=\"codespan\">&#39;solid&#39;</code> by default.</p>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"progress.itemStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "",
"min": "0",
"step": "0.5"
}
},
"progress.itemStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": ""
}
},
"progress.itemStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"progress.itemStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"progress.itemStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"progress.label.show": {
"desc": "\n\n<p>Whether to show the label.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"progress.label.interval": {
"desc": "<p>Interval of <code class=\"codespan\">label</code>. When it is assigned with a numerical value, such as <code class=\"codespan\">2</code>, a label would show every 2 items.</p>\n"
},
"progress.label.rotate": {
"desc": "<p>Rotation angle of <code class=\"codespan\">label</code>, in which positive values refer to counter clockwise rotation.</p>\n"
},
"progress.label.formatter": {
"desc": "<p>Formatter of axis label, which supports string template and callback function.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">// Use string template; template variable is the default label of axis {value}\nformatter: &#39;{value} kg&#39;\n\n// Use callback function; function parameters are axis index\nformatter: function (value, index) {\n // Formatted to be month/day; display year only in the first label\n var date = new Date(value);\n var texts = [(date.getMonth() + 1), date.getDate()];\n if (idx === 0) {\n texts.unshift(date.getYear());\n }\n return texts.join(&#39;/&#39;);\n}\n</code></pre>\n"
},
"progress.label.color": {
"desc": "\n\n<p>timeline.lable text color.</p>\n",
"uiControl": {
"type": "color",
"default": "'#6f778d'"
}
},
"progress.label.fontStyle": {
"desc": "\n\n<p>timeline.lable font style.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;italic&#39;</code></li>\n<li><code class=\"codespan\">&#39;oblique&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,italic,oblique"
}
},
"progress.label.fontWeight": {
"desc": "\n\n<p>timeline.lable font thick weight.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,bold,bolder,lighter"
}
},
"progress.label.fontFamily": {
"desc": "\n\n<p>timeline.lable font family.</p>\n<p>Can also be &#39;serif&#39; , &#39;monospace&#39;, ...</p>\n",
"uiControl": {
"type": "enum",
"default": "sans-serif",
"options": "sans-serif,serif,monospace,Arial,Courier New"
}
},
"progress.label.fontSize": {
"desc": "\n\n<p>timeline.lable font size.</p>\n",
"uiControl": {
"type": "number",
"default": "12",
"min": "1",
"step": "1"
}
},
"progress.label.align": {
"desc": "\n\n<p>Horizontal alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;left&#39;</code></li>\n<li><code class=\"codespan\">&#39;center&#39;</code></li>\n<li><code class=\"codespan\">&#39;right&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">align</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">align</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n align: right,\n rich: {\n a: {\n // `align` is not set, then it will be right\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "left,center,right"
}
},
"progress.label.verticalAlign": {
"desc": "\n\n<p>Vertical alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;top&#39;</code></li>\n<li><code class=\"codespan\">&#39;middle&#39;</code></li>\n<li><code class=\"codespan\">&#39;bottom&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">verticalAlign</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">verticalAlign</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n verticalAlign: bottom,\n rich: {\n a: {\n // `verticalAlign` is not set, then it will be bottom\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "top,middle,bottom"
}
},
"progress.label.lineHeight": {
"desc": "\n\n<p>Line height of the text fragment.</p>\n<p>If <code class=\"codespan\">lineHeight</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">lineHeight</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n lineHeight: 56,\n rich: {\n a: {\n // `lineHeight` is not set, then it will be 56\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1",
"default": "12"
}
},
"progress.label.backgroundColor": {
"desc": "\n\n<p>Background color of the text fragment.</p>\n<p>Can be color string, like <code class=\"codespan\">&#39;#123234&#39;</code>, <code class=\"codespan\">&#39;red&#39;</code>, <code class=\"codespan\">&#39;rgba(0,23,11,0.3)&#39;</code>.</p>\n<p>Or image can be used, for example:</p>\n<pre><code class=\"lang-js\">backgroundColor: {\n image: &#39;xxx/xxx.png&#39;\n // It can be URL of a image,\n // or dataURI,\n // or HTMLImageElement,\n // or HTMLCanvasElement.\n}\n</code></pre>\n<p><code class=\"codespan\">width</code> or <code class=\"codespan\">height</code> can be specified when using background image, or\nauto adapted by default.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"progress.label.borderColor": {
"desc": "\n\n<p>Border color of the text fragment.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"progress.label.borderWidth": {
"desc": "\n\n<p>Border width of the text fragment.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.borderRadius": {
"desc": "\n\n<p>Border radius of the text fragment.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "LT,RT, RB, LB"
}
},
"progress.label.padding": {
"desc": "\n\n<p>Padding of the text fragment, for example:</p>\n<ul>\n<li><code class=\"codespan\">padding: [3, 4, 5, 6]</code>: represents padding of <code class=\"codespan\">[top, right, bottom, left]</code>.</li>\n<li><code class=\"codespan\">padding: 4</code>: represents <code class=\"codespan\">padding: [4, 4, 4, 4]</code>.</li>\n<li><code class=\"codespan\">padding: [3, 4]</code>: represents <code class=\"codespan\">padding: [3, 4, 3, 4]</code>.</li>\n</ul>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"progress.label.shadowColor": {
"desc": "\n\n<p>Shadow color of the text block.</p>\n",
"uiControl": {
"type": "color"
}
},
"progress.label.shadowBlur": {
"desc": "\n\n<p>Show blur of the text block.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.shadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.shadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.width": {
"desc": "\n\n<p>Width of text block.</p>\n",
"uiControl": {
"type": "number",
"default": "50",
"min": "1",
"max": "200",
"step": "1"
}
},
"progress.label.height": {
"desc": "\n\n<p>Height of text block.</p>\n",
"uiControl": {
"type": "number",
"default": "50",
"min": "1",
"max": "200",
"step": "1"
}
},
"progress.label.textBorderColor": {
"desc": "\n\n<p>Storke color of the text.</p>\n",
"uiControl": {
"type": "color"
}
},
"progress.label.textBorderWidth": {
"desc": "\n\n<p>Storke line width of the text.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.textShadowColor": {
"desc": "\n\n<p>Shadow color of the text itself.</p>\n",
"uiControl": {
"type": "color",
"default": "#000"
}
},
"progress.label.textShadowBlur": {
"desc": "\n\n<p>Shadow blue of the text itself.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.textShadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.textShadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.overflow": {
"desc": "\n\n<p>Determine how to display the text when it&#39;s overflow. Available when <code class=\"codespan\">width</code> is set.</p>\n<ul>\n<li><code class=\"codespan\">&#39;truncate&#39;</code> Truncate the text and trailing with <code class=\"codespan\">ellipsis</code>.</li>\n<li><code class=\"codespan\">&#39;break&#39;</code> Break by word</li>\n<li><code class=\"codespan\">&#39;breakAll&#39;</code> Break by character.</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"options": "truncate,break,breakAll"
}
},
"progress.label.ellipsis": {
"desc": "<p>Ellipsis to be displayed when <code class=\"codespan\">overflow</code> is set to <code class=\"codespan\">truncate</code>.</p>\n"
},
"progress.label.lineOverflow": {
"desc": "<p>Determine how to display the text when it&#39;s overflow on height.</p>\n<ul>\n<li><code class=\"codespan\">&#39;truncate&#39;</code> Truncate the overflow lines.</li>\n</ul>\n"
},
"progress.label.rich": {
"desc": "<p>&quot;Rich text styles&quot; can be defined in this <code class=\"codespan\">rich</code> property. For example:</p>\n<pre><code class=\"lang-js\">label: {\n // Styles defined in &#39;rich&#39; can be applied to some fragments\n // of text by adding some markers to those fragment, like\n // `{styleName|text content text content}`.\n // `&#39;\\n&#39;` is the newline character.\n formatter: [\n &#39;{a|Style &quot;a&quot; is applied to this snippet}&#39;\n &#39;{b|Style &quot;b&quot; is applied to this snippet}This snippet use default style{x|use style &quot;x&quot;}&#39;\n ].join(&#39;\\n&#39;),\n\n rich: {\n a: {\n color: &#39;red&#39;,\n lineHeight: 10\n },\n b: {\n backgroundColor: {\n image: &#39;xxx/xxx.jpg&#39;\n },\n height: 40\n },\n x: {\n fontSize: 18,\n fontFamily: &#39;Microsoft YaHei&#39;,\n borderColor: &#39;#449933&#39;,\n borderRadius: 4\n },\n ...\n }\n}\n</code></pre>\n<p>For more details, see <a href=\"tutorial.html#Rich%20Text\" target=\"_blank\">Rich Text</a> please.</p>\n"
},
"progress.label.rich.<style_name>.color": {
"desc": "\n\n<p> text color.</p>\n",
"uiControl": {
"type": "color",
"default": "null"
}
},
"progress.label.rich.<style_name>.fontStyle": {
"desc": "\n\n<p> font style.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;italic&#39;</code></li>\n<li><code class=\"codespan\">&#39;oblique&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,italic,oblique"
}
},
"progress.label.rich.<style_name>.fontWeight": {
"desc": "\n\n<p> font thick weight.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,bold,bolder,lighter"
}
},
"progress.label.rich.<style_name>.fontFamily": {
"desc": "\n\n<p> font family.</p>\n<p>Can also be &#39;serif&#39; , &#39;monospace&#39;, ...</p>\n",
"uiControl": {
"type": "enum",
"default": "sans-serif",
"options": "sans-serif,serif,monospace,Arial,Courier New"
}
},
"progress.label.rich.<style_name>.fontSize": {
"desc": "\n\n<p> font size.</p>\n",
"uiControl": {
"type": "number",
"default": "12",
"min": "1",
"step": "1"
}
},
"progress.label.rich.<style_name>.align": {
"desc": "\n\n<p>Horizontal alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;left&#39;</code></li>\n<li><code class=\"codespan\">&#39;center&#39;</code></li>\n<li><code class=\"codespan\">&#39;right&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">align</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">align</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n align: right,\n rich: {\n a: {\n // `align` is not set, then it will be right\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "left,center,right"
}
},
"progress.label.rich.<style_name>.verticalAlign": {
"desc": "\n\n<p>Vertical alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;top&#39;</code></li>\n<li><code class=\"codespan\">&#39;middle&#39;</code></li>\n<li><code class=\"codespan\">&#39;bottom&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">verticalAlign</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">verticalAlign</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n verticalAlign: bottom,\n rich: {\n a: {\n // `verticalAlign` is not set, then it will be bottom\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "top,middle,bottom"
}
},
"progress.label.rich.<style_name>.lineHeight": {
"desc": "\n\n<p>Line height of the text fragment.</p>\n<p>If <code class=\"codespan\">lineHeight</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">lineHeight</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n lineHeight: 56,\n rich: {\n a: {\n // `lineHeight` is not set, then it will be 56\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1",
"default": "12"
}
},
"progress.label.rich.<style_name>.backgroundColor": {
"desc": "\n\n<p>Background color of the text fragment.</p>\n<p>Can be color string, like <code class=\"codespan\">&#39;#123234&#39;</code>, <code class=\"codespan\">&#39;red&#39;</code>, <code class=\"codespan\">&#39;rgba(0,23,11,0.3)&#39;</code>.</p>\n<p>Or image can be used, for example:</p>\n<pre><code class=\"lang-js\">backgroundColor: {\n image: &#39;xxx/xxx.png&#39;\n // It can be URL of a image,\n // or dataURI,\n // or HTMLImageElement,\n // or HTMLCanvasElement.\n}\n</code></pre>\n<p><code class=\"codespan\">width</code> or <code class=\"codespan\">height</code> can be specified when using background image, or\nauto adapted by default.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"progress.label.rich.<style_name>.borderColor": {
"desc": "\n\n<p>Border color of the text fragment.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"progress.label.rich.<style_name>.borderWidth": {
"desc": "\n\n<p>Border width of the text fragment.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.borderRadius": {
"desc": "\n\n<p>Border radius of the text fragment.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "LT,RT, RB, LB"
}
},
"progress.label.rich.<style_name>.padding": {
"desc": "\n\n<p>Padding of the text fragment, for example:</p>\n<ul>\n<li><code class=\"codespan\">padding: [3, 4, 5, 6]</code>: represents padding of <code class=\"codespan\">[top, right, bottom, left]</code>.</li>\n<li><code class=\"codespan\">padding: 4</code>: represents <code class=\"codespan\">padding: [4, 4, 4, 4]</code>.</li>\n<li><code class=\"codespan\">padding: [3, 4]</code>: represents <code class=\"codespan\">padding: [3, 4, 3, 4]</code>.</li>\n</ul>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"progress.label.rich.<style_name>.shadowColor": {
"desc": "\n\n<p>Shadow color of the text block.</p>\n",
"uiControl": {
"type": "color"
}
},
"progress.label.rich.<style_name>.shadowBlur": {
"desc": "\n\n<p>Show blur of the text block.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.shadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.shadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.width": {
"desc": "<p>Width of the text block. It is the width of the text by default. In most cases, there is no need to specify it. You may want to use it in some cases like make simple table or using background image (see <code class=\"codespan\">backgroundColor</code>).</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n<p><code class=\"codespan\">width</code> can also be percent string, like <code class=\"codespan\">&#39;100%&#39;</code>, which represents the percent of <code class=\"codespan\">contentWidth</code> (that is, the width without <code class=\"codespan\">padding</code>) of its container box. It is based on <code class=\"codespan\">contentWidth</code> because that each text fragment is layout based on the <code class=\"codespan\">content box</code>, where it makes no sense that calculating width based on <code class=\"codespan\">outerWith</code> in prectice.</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> only work when <code class=\"codespan\">rich</code> specified.</p>\n"
},
"progress.label.rich.<style_name>.height": {
"desc": "<p>Height of the text block. It is the width of the text by default. You may want to use it in some cases like using background image (see <code class=\"codespan\">backgroundColor</code>).</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> only work when <code class=\"codespan\">rich</code> specified.</p>\n"
},
"progress.label.rich.<style_name>.textBorderColor": {
"desc": "\n\n<p>Storke color of the text.</p>\n",
"uiControl": {
"type": "color"
}
},
"progress.label.rich.<style_name>.textBorderWidth": {
"desc": "\n\n<p>Storke line width of the text.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.textShadowColor": {
"desc": "\n\n<p>Shadow color of the text itself.</p>\n",
"uiControl": {
"type": "color",
"default": "#000"
}
},
"progress.label.rich.<style_name>.textShadowBlur": {
"desc": "\n\n<p>Shadow blue of the text itself.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.textShadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"progress.label.rich.<style_name>.textShadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.show": {
"desc": "\n\n<p>Whether to show the label.</p>\n",
"uiControl": {
"type": "boolean",
"default": "true"
}
},
"emphasis.label.interval": {
"desc": "<p>Interval of <code class=\"codespan\">label</code>. When it is assigned with a numerical value, such as <code class=\"codespan\">2</code>, a label would show every 2 items.</p>\n"
},
"emphasis.label.rotate": {
"desc": "<p>Rotation angle of <code class=\"codespan\">label</code>, in which positive values refer to counter clockwise rotation.</p>\n"
},
"emphasis.label.formatter": {
"desc": "<p>Formatter of axis label, which supports string template and callback function.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">// Use string template; template variable is the default label of axis {value}\nformatter: &#39;{value} kg&#39;\n\n// Use callback function; function parameters are axis index\nformatter: function (value, index) {\n // Formatted to be month/day; display year only in the first label\n var date = new Date(value);\n var texts = [(date.getMonth() + 1), date.getDate()];\n if (idx === 0) {\n texts.unshift(date.getYear());\n }\n return texts.join(&#39;/&#39;);\n}\n</code></pre>\n"
},
"emphasis.label.color": {
"desc": "\n\n<p>timeline.lable.emphasis text color.</p>\n",
"uiControl": {
"type": "color",
"default": "'#6f778d'"
}
},
"emphasis.label.fontStyle": {
"desc": "\n\n<p>timeline.lable.emphasis font style.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;italic&#39;</code></li>\n<li><code class=\"codespan\">&#39;oblique&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,italic,oblique"
}
},
"emphasis.label.fontWeight": {
"desc": "\n\n<p>timeline.lable.emphasis font thick weight.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,bold,bolder,lighter"
}
},
"emphasis.label.fontFamily": {
"desc": "\n\n<p>timeline.lable.emphasis font family.</p>\n<p>Can also be &#39;serif&#39; , &#39;monospace&#39;, ...</p>\n",
"uiControl": {
"type": "enum",
"default": "sans-serif",
"options": "sans-serif,serif,monospace,Arial,Courier New"
}
},
"emphasis.label.fontSize": {
"desc": "\n\n<p>timeline.lable.emphasis font size.</p>\n",
"uiControl": {
"type": "number",
"default": "12",
"min": "1",
"step": "1"
}
},
"emphasis.label.align": {
"desc": "\n\n<p>Horizontal alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;left&#39;</code></li>\n<li><code class=\"codespan\">&#39;center&#39;</code></li>\n<li><code class=\"codespan\">&#39;right&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">align</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">align</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n align: right,\n rich: {\n a: {\n // `align` is not set, then it will be right\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "left,center,right"
}
},
"emphasis.label.verticalAlign": {
"desc": "\n\n<p>Vertical alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;top&#39;</code></li>\n<li><code class=\"codespan\">&#39;middle&#39;</code></li>\n<li><code class=\"codespan\">&#39;bottom&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">verticalAlign</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">verticalAlign</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n verticalAlign: bottom,\n rich: {\n a: {\n // `verticalAlign` is not set, then it will be bottom\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "top,middle,bottom"
}
},
"emphasis.label.lineHeight": {
"desc": "\n\n<p>Line height of the text fragment.</p>\n<p>If <code class=\"codespan\">lineHeight</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">lineHeight</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n lineHeight: 56,\n rich: {\n a: {\n // `lineHeight` is not set, then it will be 56\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1",
"default": "12"
}
},
"emphasis.label.backgroundColor": {
"desc": "\n\n<p>Background color of the text fragment.</p>\n<p>Can be color string, like <code class=\"codespan\">&#39;#123234&#39;</code>, <code class=\"codespan\">&#39;red&#39;</code>, <code class=\"codespan\">&#39;rgba(0,23,11,0.3)&#39;</code>.</p>\n<p>Or image can be used, for example:</p>\n<pre><code class=\"lang-js\">backgroundColor: {\n image: &#39;xxx/xxx.png&#39;\n // It can be URL of a image,\n // or dataURI,\n // or HTMLImageElement,\n // or HTMLCanvasElement.\n}\n</code></pre>\n<p><code class=\"codespan\">width</code> or <code class=\"codespan\">height</code> can be specified when using background image, or\nauto adapted by default.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"emphasis.label.borderColor": {
"desc": "\n\n<p>Border color of the text fragment.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"emphasis.label.borderWidth": {
"desc": "\n\n<p>Border width of the text fragment.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.borderRadius": {
"desc": "\n\n<p>Border radius of the text fragment.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "LT,RT, RB, LB"
}
},
"emphasis.label.padding": {
"desc": "\n\n<p>Padding of the text fragment, for example:</p>\n<ul>\n<li><code class=\"codespan\">padding: [3, 4, 5, 6]</code>: represents padding of <code class=\"codespan\">[top, right, bottom, left]</code>.</li>\n<li><code class=\"codespan\">padding: 4</code>: represents <code class=\"codespan\">padding: [4, 4, 4, 4]</code>.</li>\n<li><code class=\"codespan\">padding: [3, 4]</code>: represents <code class=\"codespan\">padding: [3, 4, 3, 4]</code>.</li>\n</ul>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"emphasis.label.shadowColor": {
"desc": "\n\n<p>Shadow color of the text block.</p>\n",
"uiControl": {
"type": "color"
}
},
"emphasis.label.shadowBlur": {
"desc": "\n\n<p>Show blur of the text block.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.shadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.shadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.width": {
"desc": "\n\n<p>Width of text block.</p>\n",
"uiControl": {
"type": "number",
"default": "50",
"min": "1",
"max": "200",
"step": "1"
}
},
"emphasis.label.height": {
"desc": "\n\n<p>Height of text block.</p>\n",
"uiControl": {
"type": "number",
"default": "50",
"min": "1",
"max": "200",
"step": "1"
}
},
"emphasis.label.textBorderColor": {
"desc": "\n\n<p>Storke color of the text.</p>\n",
"uiControl": {
"type": "color"
}
},
"emphasis.label.textBorderWidth": {
"desc": "\n\n<p>Storke line width of the text.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.textShadowColor": {
"desc": "\n\n<p>Shadow color of the text itself.</p>\n",
"uiControl": {
"type": "color",
"default": "#000"
}
},
"emphasis.label.textShadowBlur": {
"desc": "\n\n<p>Shadow blue of the text itself.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.textShadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.textShadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.overflow": {
"desc": "\n\n<p>Determine how to display the text when it&#39;s overflow. Available when <code class=\"codespan\">width</code> is set.</p>\n<ul>\n<li><code class=\"codespan\">&#39;truncate&#39;</code> Truncate the text and trailing with <code class=\"codespan\">ellipsis</code>.</li>\n<li><code class=\"codespan\">&#39;break&#39;</code> Break by word</li>\n<li><code class=\"codespan\">&#39;breakAll&#39;</code> Break by character.</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"options": "truncate,break,breakAll"
}
},
"emphasis.label.ellipsis": {
"desc": "<p>Ellipsis to be displayed when <code class=\"codespan\">overflow</code> is set to <code class=\"codespan\">truncate</code>.</p>\n"
},
"emphasis.label.lineOverflow": {
"desc": "<p>Determine how to display the text when it&#39;s overflow on height.</p>\n<ul>\n<li><code class=\"codespan\">&#39;truncate&#39;</code> Truncate the overflow lines.</li>\n</ul>\n"
},
"emphasis.label.rich": {
"desc": "<p>&quot;Rich text styles&quot; can be defined in this <code class=\"codespan\">rich</code> property. For example:</p>\n<pre><code class=\"lang-js\">label: {\n // Styles defined in &#39;rich&#39; can be applied to some fragments\n // of text by adding some markers to those fragment, like\n // `{styleName|text content text content}`.\n // `&#39;\\n&#39;` is the newline character.\n formatter: [\n &#39;{a|Style &quot;a&quot; is applied to this snippet}&#39;\n &#39;{b|Style &quot;b&quot; is applied to this snippet}This snippet use default style{x|use style &quot;x&quot;}&#39;\n ].join(&#39;\\n&#39;),\n\n rich: {\n a: {\n color: &#39;red&#39;,\n lineHeight: 10\n },\n b: {\n backgroundColor: {\n image: &#39;xxx/xxx.jpg&#39;\n },\n height: 40\n },\n x: {\n fontSize: 18,\n fontFamily: &#39;Microsoft YaHei&#39;,\n borderColor: &#39;#449933&#39;,\n borderRadius: 4\n },\n ...\n }\n}\n</code></pre>\n<p>For more details, see <a href=\"tutorial.html#Rich%20Text\" target=\"_blank\">Rich Text</a> please.</p>\n"
},
"emphasis.label.rich.<style_name>.color": {
"desc": "\n\n<p> text color.</p>\n",
"uiControl": {
"type": "color",
"default": "null"
}
},
"emphasis.label.rich.<style_name>.fontStyle": {
"desc": "\n\n<p> font style.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;italic&#39;</code></li>\n<li><code class=\"codespan\">&#39;oblique&#39;</code></li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,italic,oblique"
}
},
"emphasis.label.rich.<style_name>.fontWeight": {
"desc": "\n\n<p> font thick weight.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n",
"uiControl": {
"type": "enum",
"default": "normal",
"options": "normal,bold,bolder,lighter"
}
},
"emphasis.label.rich.<style_name>.fontFamily": {
"desc": "\n\n<p> font family.</p>\n<p>Can also be &#39;serif&#39; , &#39;monospace&#39;, ...</p>\n",
"uiControl": {
"type": "enum",
"default": "sans-serif",
"options": "sans-serif,serif,monospace,Arial,Courier New"
}
},
"emphasis.label.rich.<style_name>.fontSize": {
"desc": "\n\n<p> font size.</p>\n",
"uiControl": {
"type": "number",
"default": "12",
"min": "1",
"step": "1"
}
},
"emphasis.label.rich.<style_name>.align": {
"desc": "\n\n<p>Horizontal alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;left&#39;</code></li>\n<li><code class=\"codespan\">&#39;center&#39;</code></li>\n<li><code class=\"codespan\">&#39;right&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">align</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">align</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n align: right,\n rich: {\n a: {\n // `align` is not set, then it will be right\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "left,center,right"
}
},
"emphasis.label.rich.<style_name>.verticalAlign": {
"desc": "\n\n<p>Vertical alignment of text, automatic by default.</p>\n<p>Options are:</p>\n<ul>\n<li><code class=\"codespan\">&#39;top&#39;</code></li>\n<li><code class=\"codespan\">&#39;middle&#39;</code></li>\n<li><code class=\"codespan\">&#39;bottom&#39;</code></li>\n</ul>\n<p>If <code class=\"codespan\">verticalAlign</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">verticalAlign</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n verticalAlign: bottom,\n rich: {\n a: {\n // `verticalAlign` is not set, then it will be bottom\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "enum",
"options": "top,middle,bottom"
}
},
"emphasis.label.rich.<style_name>.lineHeight": {
"desc": "\n\n<p>Line height of the text fragment.</p>\n<p>If <code class=\"codespan\">lineHeight</code> is not set in <code class=\"codespan\">rich</code>, <code class=\"codespan\">lineHeight</code> in parent level will be used. For example:</p>\n<pre><code class=\"lang-js\">{\n lineHeight: 56,\n rich: {\n a: {\n // `lineHeight` is not set, then it will be 56\n }\n }\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "1",
"default": "12"
}
},
"emphasis.label.rich.<style_name>.backgroundColor": {
"desc": "\n\n<p>Background color of the text fragment.</p>\n<p>Can be color string, like <code class=\"codespan\">&#39;#123234&#39;</code>, <code class=\"codespan\">&#39;red&#39;</code>, <code class=\"codespan\">&#39;rgba(0,23,11,0.3)&#39;</code>.</p>\n<p>Or image can be used, for example:</p>\n<pre><code class=\"lang-js\">backgroundColor: {\n image: &#39;xxx/xxx.png&#39;\n // It can be URL of a image,\n // or dataURI,\n // or HTMLImageElement,\n // or HTMLCanvasElement.\n}\n</code></pre>\n<p><code class=\"codespan\">width</code> or <code class=\"codespan\">height</code> can be specified when using background image, or\nauto adapted by default.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"emphasis.label.rich.<style_name>.borderColor": {
"desc": "\n\n<p>Border color of the text fragment.</p>\n",
"uiControl": {
"type": "color",
"default": "#fff"
}
},
"emphasis.label.rich.<style_name>.borderWidth": {
"desc": "\n\n<p>Border width of the text fragment.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.borderRadius": {
"desc": "\n\n<p>Border radius of the text fragment.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "LT,RT, RB, LB"
}
},
"emphasis.label.rich.<style_name>.padding": {
"desc": "\n\n<p>Padding of the text fragment, for example:</p>\n<ul>\n<li><code class=\"codespan\">padding: [3, 4, 5, 6]</code>: represents padding of <code class=\"codespan\">[top, right, bottom, left]</code>.</li>\n<li><code class=\"codespan\">padding: 4</code>: represents <code class=\"codespan\">padding: [4, 4, 4, 4]</code>.</li>\n<li><code class=\"codespan\">padding: [3, 4]</code>: represents <code class=\"codespan\">padding: [3, 4, 3, 4]</code>.</li>\n</ul>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n",
"uiControl": {
"type": "vector",
"min": "0",
"dims": "T,R,B,L"
}
},
"emphasis.label.rich.<style_name>.shadowColor": {
"desc": "\n\n<p>Shadow color of the text block.</p>\n",
"uiControl": {
"type": "color"
}
},
"emphasis.label.rich.<style_name>.shadowBlur": {
"desc": "\n\n<p>Show blur of the text block.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.shadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.shadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text block.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.width": {
"desc": "<p>Width of the text block. It is the width of the text by default. In most cases, there is no need to specify it. You may want to use it in some cases like make simple table or using background image (see <code class=\"codespan\">backgroundColor</code>).</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n<p><code class=\"codespan\">width</code> can also be percent string, like <code class=\"codespan\">&#39;100%&#39;</code>, which represents the percent of <code class=\"codespan\">contentWidth</code> (that is, the width without <code class=\"codespan\">padding</code>) of its container box. It is based on <code class=\"codespan\">contentWidth</code> because that each text fragment is layout based on the <code class=\"codespan\">content box</code>, where it makes no sense that calculating width based on <code class=\"codespan\">outerWith</code> in prectice.</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> only work when <code class=\"codespan\">rich</code> specified.</p>\n"
},
"emphasis.label.rich.<style_name>.height": {
"desc": "<p>Height of the text block. It is the width of the text by default. You may want to use it in some cases like using background image (see <code class=\"codespan\">backgroundColor</code>).</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> specifies the width and height of the content, without <code class=\"codespan\">padding</code>.</p>\n<p>Notice, <code class=\"codespan\">width</code> and <code class=\"codespan\">height</code> only work when <code class=\"codespan\">rich</code> specified.</p>\n"
},
"emphasis.label.rich.<style_name>.textBorderColor": {
"desc": "\n\n<p>Storke color of the text.</p>\n",
"uiControl": {
"type": "color"
}
},
"emphasis.label.rich.<style_name>.textBorderWidth": {
"desc": "\n\n<p>Storke line width of the text.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.textShadowColor": {
"desc": "\n\n<p>Shadow color of the text itself.</p>\n",
"uiControl": {
"type": "color",
"default": "#000"
}
},
"emphasis.label.rich.<style_name>.textShadowBlur": {
"desc": "\n\n<p>Shadow blue of the text itself.</p>\n",
"uiControl": {
"type": "number",
"min": "0",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.textShadowOffsetX": {
"desc": "\n\n<p>Shadow X offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.label.rich.<style_name>.textShadowOffsetY": {
"desc": "\n\n<p>Shadow Y offset of the text itself.</p>\n",
"uiControl": {
"type": "number",
"step": "0.5"
}
},
"emphasis.itemStyle.color": {
"desc": "\n\n<p>timeline color. </p>\n<blockquote>\n<p>Color can be represented in RGB, for example <code class=\"codespan\">&#39;rgb(128, 128, 128)&#39;</code>. RGBA can be used when you need alpha channel, for example <code class=\"codespan\">&#39;rgba(128, 128, 128, 0.5)&#39;</code>. You may also use hexadecimal format, for example <code class=\"codespan\">&#39;#ccc&#39;</code>. Gradient color and texture are also supported besides single colors.</p>\n<pre><code class=\"lang-js\">// Linear gradient. First four parameters are x0, y0, x2, and y2, each ranged from 0 to 1, standing for percentage in the bounding box. If global is `true`, then the first four parameters are in absolute pixel positions.\ncolor: {\n type: &#39;linear&#39;,\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Radial gradient. First three parameters are x and y positions of center, and radius, similar to linear gradient.\ncolor: {\n type: &#39;radial&#39;,\n x: 0.5,\n y: 0.5,\n r: 0.5,\n colorStops: [{\n offset: 0, color: &#39;red&#39; // color at 0% position\n }, {\n offset: 1, color: &#39;blue&#39; // color at 100% position\n }],\n global: false // false by default\n}\n// Fill with texture\ncolor: {\n image: imageDom, // HTMLImageElement, and HTMLCanvasElement are supported, while string path is not supported\n repeat: &#39;repeat&#39; // whether to repeat texture, whose value can be repeat-x, repeat-y, or no-repeat\n}\n</code></pre>\n</blockquote>\n",
"uiControl": {
"type": "color"
}
},
"emphasis.itemStyle.borderColor": {
"desc": "\n\n<p>timeline border color, whose format is similar to that of <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color"
}
},
"emphasis.itemStyle.borderWidth": {
"desc": "\n\n<p>timeline border width. No border when it is set to be 0.</p>\n",
"uiControl": {
"type": "number",
"value": "1",
"min": "0",
"step": "0.5"
}
},
"emphasis.itemStyle.borderType": {
"desc": "\n\n<p>Border type, which can be <code class=\"codespan\">&#39;solid&#39;</code>, <code class=\"codespan\">&#39;dashed&#39;</code>, or <code class=\"codespan\">&#39;dotted&#39;</code>. <code class=\"codespan\">&#39;solid&#39;</code> by default.</p>\n",
"uiControl": {
"type": "enum",
"default": "solid",
"options": "solid,dashed,dotted"
}
},
"emphasis.itemStyle.shadowBlur": {
"desc": "\n\n<p>Size of shadow blur. This attribute should be used along with <code class=\"codespan\">shadowColor</code>,<code class=\"codespan\">shadowOffsetX</code>, <code class=\"codespan\">shadowOffsetY</code> to set shadow to component.</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">{\n shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;,\n shadowBlur: 10\n}\n</code></pre>\n",
"uiControl": {
"type": "number",
"default": "",
"min": "0",
"step": "0.5"
}
},
"emphasis.itemStyle.shadowColor": {
"desc": "\n\n<p>Shadow color. Support same format as <code class=\"codespan\">color</code>.</p>\n",
"uiControl": {
"type": "color",
"default": ""
}
},
"emphasis.itemStyle.shadowOffsetX": {
"desc": "\n\n<p>Offset distance on the horizontal direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"emphasis.itemStyle.shadowOffsetY": {
"desc": "\n\n<p>Offset distance on the vertical direction of shadow.</p>\n",
"uiControl": {
"type": "number",
"default": "0",
"step": "0.5"
}
},
"emphasis.itemStyle.opacity": {
"desc": "\n\n<p>Opacity of the component. Supports value from 0 to 1, and the component will not be drawn when set to 0.</p>\n",
"uiControl": {
"type": "number",
"default": "1",
"min": "0",
"max": "1",
"step": "0.01"
}
},
"emphasis.checkpointStyle": {
"desc": "<p>Style of the checkpoint.</p>\n"
},
"emphasis.controlStyle": {
"desc": "<p>Style of the control button.</p>\n"
},
"data": {
"desc": "<p><code class=\"codespan\">timeline</code> data. Each item of <code class=\"codespan\">Array</code> can be a instant value. If you need to set style individually for a data item, the <code class=\"codespan\">data</code> item should be written as <code class=\"codespan\">Object</code>. In then <code class=\"codespan\">Object</code>, the attribute of <code class=\"codespan\">value</code> is numerical value. Other attributes, such as shown the examples below, could cover the attribute configurations in <code class=\"codespan\">timeline</code>.</p>\n<p>as follows:</p>\n<pre><code class=\"lang-javascript\">[\n &#39;2002-01-01&#39;,\n &#39;2003-01-01&#39;,\n &#39;2004-01-01&#39;,\n {\n value: &#39;2005-01-01&#39;,\n tooltip: { // enables `tooltip` to be displayed as mouse hovering to this item.\n formatter: &#39;{b} xxxx&#39;\n },\n symbol: &#39;diamond&#39;, // the special setting of this item&#39;s symbol.\n symbolSize: 16 // the special setting of this item&#39;s size.\n },\n &#39;2006-01-01&#39;,\n &#39;2007-01-01&#39;,\n &#39;2008-01-01&#39;,\n &#39;2009-01-01&#39;,\n &#39;2010-01-01&#39;,\n {\n value: &#39;2011-01-01&#39;,\n tooltip: { // enables `tooltip` to be displayed as mouse hovering to this item.\n formatter: function (params) {\n return params.name + &#39;xxxx&#39;;\n }\n },\n symbol: &#39;diamond&#39;,\n symbolSize: 18\n },\n]\n</code></pre>\n"
}
}