diff --git a/en/option/component/axis-common.md b/en/option/component/axis-common.md
index f8226ad6..41482796 100644
--- a/en/option/component/axis-common.md
+++ b/en/option/component/axis-common.md
@@ -651,6 +651,14 @@ The maximum length for the truncated text. Any text exceeding this length will b
The content displayed at the end of the text after truncation.
+{{ if: ${componentType} === 'xAxis' || ${componentType} === 'yAxis' }}
+#${prefix} nameMoveOverlap(boolean) = true
+
+{{ use: partial-version(version = "6.0.0") }}
+
+Whether to move axis name to avoid overlap with axis labels.
+{{ /if }}
+
#${prefix} inverse(boolean) = false
diff --git a/en/option/component/geo-common.md b/en/option/component/geo-common.md
index ab9ea90c..3cc37e71 100644
--- a/en/option/component/geo-common.md
+++ b/en/option/component/geo-common.md
@@ -3,8 +3,12 @@
{{ if: ${inMap} }}
{{ var: componentNameInLink = 'series-map' }}
+{{ var: componentMainType = 'series' }}
+{{ var: componentSubType = 'map' }}
{{ else }}
{{ var: componentNameInLink = 'geo' }}
+{{ var: componentMainType = 'geo' }}
+{{ var: componentSubType = null }}
{{ /if }}
#${prefix} map(string) = ''
@@ -81,9 +85,6 @@ See also [Flight Seatmap](${galleryEditorPath}geo-seatmap-flight).
The demo above shows that SVG format can be used in ECharts. See more info in [SVG Base Map](tutorial.html#SVG%20Base%20Map%20in%20Geo%20Coords%20and%20Map%20Series).
-#${prefix} roam(boolean|string) = false
-
-{{ use: partial-roam() }}
#${prefix} projection(Object)
@@ -160,22 +161,13 @@ series: {
Note: `stream` is not required in the `projection`.
-#${prefix} center(Array)
-Center of current view-port, in longitude and latitude by default. Use the projected coordinates if `projection` is set.
+{{ use: partial-view-coord-sys-common(
+ prefix = ${prefix},
+ componentMainType = ${componentMainType},
+ componentSubType = ${componentSubType}
+) }}
-Example:
-
-```ts
-center: [115.97, 29.71]
-```
-
-```ts
-projection: {
- projection: (pt) => project(pt)
-},
-center: project([115.97, 29.71])
-```
#${prefix} aspectScale(number) = 0.75
@@ -203,15 +195,6 @@ boundingCoords: [
],
```
-#${prefix} zoom(number) = 1
-
-Zoom rate of current view-port.
-
-#${prefix} scaleLimit(Object)
-
-{{ use: partial-scale-limit(
- prefix = "#" + ${prefix}
-) }}
#${prefix} nameMap(Object)
diff --git a/en/option/component/visual-map.md b/en/option/component/visual-map.md
index 414416ab..e23be60a 100644
--- a/en/option/component/visual-map.md
+++ b/en/option/component/visual-map.md
@@ -305,11 +305,24 @@ Each column of the above array is regarded as a `dimension`. For example, when p
Use the last dimension of `data` by default.
-## seriesIndex(number|Array)
+## seriesIndex(number|string|Array)
Specify visual mapping should be performed on which series, from which
[series.data](~series.data) is fetched.
+Options:
+- A index number
+- An array of index numbers
+- `'all'`/`null`/`undefined` (default): means all of the series.
+
+## seriesId(number|string|Array)
+
+{{ use: partial-version(version = "6.0.0") }}
+
+Specify visual mapping should be performed on which series, from which
+[series.data](~series.data) is fetched.
+
+Can be a id or a list of ids.
All series are used by default.
## hoverLink(boolean) = true
diff --git a/en/option/option.md b/en/option/option.md
index bd68dc4c..64f11bfe 100644
--- a/en/option/option.md
+++ b/en/option/option.md
@@ -122,8 +122,6 @@ Global font style.
defaultFontSize: 12
) }}
-{{import: partial-rich-inherit-plain-label}}
-
{{import: partial-animation }}
# stateAnimation(Object)
@@ -166,6 +164,8 @@ Notice: the setting only affects "display time", not "parse time".
For how time value (like `1491339540396`, `'2013-01-04'`, ...) is parsed in echarts, see [the time part in date](~series-line.data).
+{{import: partial-rich-inherit-plain-label}}
+
# options(Array)
Option array used in [timeline](option.html#timeline). Each item of this array is an echarts option (`ECUnitOption`).
diff --git a/en/option/partial/coord-sys.md b/en/option/partial/coord-sys.md
index 1377ec9a..3b4eebbc 100644
--- a/en/option/partial/coord-sys.md
+++ b/en/option/partial/coord-sys.md
@@ -265,6 +265,14 @@ The id of the [singleAxis coordinate system](~singleAxis) to base on. When mutip
The index of the [geographic coordinate system](~geo) to base on. When mutiple `geographic` exist within an ECharts instance, use this to specify the corresponding `geographic`.
+{{ if: ${seriesType} === 'map' }}
+When `geoIndex` and `geoId` is not specified, map series creates an exclusive `geo` component for itself. `geoIndex` or `geoId` can be used to specify an outer [geo component](~geo), which can be shared with other series like [pie](~series-pie). Moreover, the region color of the outer [geo component](~geo) can be controlled by the map series (via [visualMap](~visualMap)).
+
+When `geoIndex` or `geoId` is specified, [series-map.map](~series-map.map) other style configurations like [series-map.itemStyle](~series-map.itemStyle) will not work, but corresponding configurations in [geo component](~geo) will be used.
+{{ /if }}
+
+**See example**: [geo-choropleth-scatter](${galleryEditorPath}geo-choropleth-scatter&reset=1&edit=1)
+
## geoId(number) = undefined
{{ if: ${version} }}
@@ -272,6 +280,14 @@ The index of the [geographic coordinate system](~geo) to base on. When mutiple `
{{ /if }}
The id of the [geographic coordinate system](~geo) to base on. When mutiple `geographic` exist within an ECharts instance, use this to specify the corresponding `geographic`.
+
+{{ if: ${seriesType} === 'map' }}
+When `geoIndex` and `geoId` is not specified, map series creates an exclusive `geo` component for itself. `geoIndex` or `geoId` can be used to specify an outer [geo component](~geo), which can be shared with other series like [pie](~series-pie). Moreover, the region color of the outer [geo component](~geo) can be controlled by the map series (via [visualMap](~visualMap)).
+
+When `geoIndex` or `geoId` specified, [series-map.map](~series-map.map) other style configurations like [series-map.itemStyle](~series-map.itemStyle) will not work, but corresponding configurations in [geo component](~geo) will be used.
+{{ /if }}
+
+**See example**: [geo-choropleth-scatter](${galleryEditorPath}geo-choropleth-scatter&reset=1&edit=1)
{{ /if }}
{{ if: ${parallel} }}
diff --git a/en/option/partial/rich-inherit-plain-label.md b/en/option/partial/rich-inherit-plain-label.md
index cb1699d1..0e7188cb 100644
--- a/en/option/partial/rich-inherit-plain-label.md
+++ b/en/option/partial/rich-inherit-plain-label.md
@@ -6,4 +6,24 @@
Whether rich text inherits plain text style.
-Since v6, the rich text styles (`fontStyle`, `fontWeight`, `fontSize`, `fontFamily`, `textShadowColor`, `textShadowBlur`, `textShadowOffsetX`, `textShadowOffsetY`) inherit the plain text style. To disable this behavior, you can set `richInheritPlainLabel: false` at the root level of an echarts option or the same level of the label style options. See also [#20977](https://github.com/apache/echarts/pull/20977).
\ No newline at end of file
+This option is just for backward compatibility.
+
+> The [label.rich / textStyle.rich](~series-scatter.label.rich) `fontStyle`, `fontWeight`, `fontSize`, `fontFamily`, `textShadowColor`, `textShadowBlur`, `textShadowOffsetX`, `textShadowOffsetY` are changed to inherit the corresponding [plain label styles](~series-scatter.label) since echarts v6. You can use `richInheritPlainLabel: false` to restore it. For example,
+> ```js
+> option = {
+> richInheritPlainLabel: false, // In most cases, this is enough.
+> xxx1: {
+> // Can also set it here to only control this label.
+> label: {
+> richInheritPlainLabel: false,
+> rich: {/* ... */},
+> }
+> },
+> xxx2: {
+> textStyle: {
+> richInheritPlainLabel: false,
+> rich: {/* ... */},
+> }
+> }
+> }
+> ```
diff --git a/en/option/partial/view-coord-sys.md b/en/option/partial/view-coord-sys.md
new file mode 100644
index 00000000..6d4ad76f
--- /dev/null
+++ b/en/option/partial/view-coord-sys.md
@@ -0,0 +1,78 @@
+{{ target: partial-view-coord-sys-common }}
+
+{{ if: ${componentMainType} && ${componentSubType} }}
+{{ var: componentNameInLink = ${componentMainType} + '-' + ${componentSubType} }}
+{{ else }}
+{{ var: componentNameInLink = ${componentMainType} }}
+{{ /if }}
+
+{{ if: ${componentNameInLink} === 'geo'
+ || ${componentNameInLink} === 'series-map'
+}}
+{{ var: isGeoOrMap = true }}
+{{ var: sourceName = "source map" }}
+{{ else }}
+{{ var: sourceName = "graphic elements" }}
+{{ /if }}
+
+
+#${prefix} center(Array)
+
+{{ if: ${componentNameInLink} === 'series-graph' || ${componentNameInLink} === 'series-sankey' }}
+
+{{ /if }}
+
+`center` specifies which point on the ${sourceName} should be placed at the center of the viewport (i.e., typically, the center of the canvas).
+
+{{ if: ${isGeoOrMap} }}
+It is in longitude and latitude by default. Use the projected coordinates if [proejction](~${componentNameInLink}.projection) is set.
+
+Example:
+
+```ts
+// Place this [lng, lat] at the center of the viewport (canvas).
+center: [115.97, 29.71]
+```
+
+```ts
+projection: {
+ projection: (pt) => project(pt)
+},
+center: project([115.97, 29.71])
+```
+{{ /if }}
+
+Center can also be a percentage string, like `'30%'`, based on the ${sourceName} bounding rect width/height {{ if: ${isGeoOrMap} }}(by min/max latitude/longitude, or min/max projected coordinates if [proejction](~${componentNameInLink}.projection) is set){{ /if }}. You can use `'0%'` to place the top or left of ${sourceName} to the center of the viewport (canvas), or use `'100%'` to place the right or bottom to the center of the viewport (canvas).
+For example:
+```ts
+center: [115.97, '30%']
+// Place the top of ${sourceName} to the center of the viewport (canvas)
+center: [115.97, '0%']
+// Place the left of ${sourceName} to the center of the viewport (canvas)
+center: ['0%', 13]
+// Place the bottom of ${sourceName} to the center of the viewport (canvas)
+center: [115.97, '100%']
+// Place the right of ${sourceName} to the center of the viewport (canvas)
+center: ['100%', 13]
+```
+
+> The percentage string is introduced since `v5.3.3`. It is initially based on canvas width/height. But that is not reasonable, and then changed to be based on the bounding rect since `v6.0.0`.
+
+
+#${prefix} zoom(number) = 1
+
+{{ if: ${componentNameInLink} === 'series-graph' || ${componentNameInLink} === 'series-sankey' }}
+
+{{ /if }}
+
+Zoom rate of current viewport.
+
+#${prefix} scaleLimit(Object)
+
+{{ use: partial-scale-limit(
+ prefix = "#" + ${prefix}
+) }}
+
+#${prefix} roam(boolean|string) = false
+
+{{ use: partial-roam() }}
diff --git a/en/option/series/graph.md b/en/option/series/graph.md
index 26639d17..49c1877a 100644
--- a/en/option/series/graph.md
+++ b/en/option/series/graph.md
@@ -33,24 +33,6 @@ Graph is a diagram to represent [nodes](~series-graph.nodes) and the [links](~se
matrix = true,
) }}
-## center(Array)
-
-
-
-Center of current view-port. It can be an array containing two `number`s in pixels or `string`s in percentage relative to the container width/height.
-`string` is supported from version `5.3.3`.
-
-Example:
-```ts
-center: [115.97, '30%']
-```
-
-## zoom(number) = 1
-
-
-
-Zoom rate of current view-port.
-
## layout(string) = 'none'
@@ -128,16 +110,14 @@ It will slow down the nodes' movement. The value range is from 0 to 1.
But it is still an experimental option, see [#11024](https://github.com/apache/echarts/issues/11024).
-## roam(boolean|string) = false
-
-{{ use: partial-roam() }}
-
-## scaleLimit(Object)
-{{ use: partial-scale-limit(
- prefix = "##"
+{{ use: partial-view-coord-sys-common(
+ prefix = '#',
+ componentMainType = 'series',
+ componentSubType = 'graph'
) }}
+
## nodeScaleRatio(number) = 0.6
diff --git a/en/option/series/map.md b/en/option/series/map.md
index 6615be25..1bbb8ac3 100644
--- a/en/option/series/map.md
+++ b/en/option/series/map.md
@@ -31,25 +31,6 @@ Series of same [map type](~series-map.map) will show in one map. At this point,
geo = true
) }}
-## center(Array)
-
-Center of current view-port. It can be an array containing two `number`s in pixels or `string`s in percentage relative to the container width/height.
-`string` is supported from version `5.3.3`.
-
-Example:
-```ts
-center: [115.97, '30%']
-```
-
-## geoIndex(number) = null
-
-In default case, map series create exclusive `geo` component for themselves. But `geoIndex` can be used to specify an outer [geo component](~geo), which can be shared with other series like [pie](~series-pie). Moreover, the region color of the outer [geo component](~geo) can be controlled by the map series (via [visualMap](~visualMap)).
-
-When `geoIndex` specified, [series-map.map](~series-map.map) other style configurations like [series-map.itemStyle](~series-map.itemStyle) will not work, but corresponding configurations in [geo component](~geo) will be used.
-
-For example:
-~[600x400](${galleryViewPath}geo-map-scatter&reset=1&edit=1)
-
## mapValueCalculation(string) = 'sum'
Value of multiple series with the same [map type](~series-map.map) can use this option to get a statistical value.
diff --git a/en/option/series/sankey.md b/en/option/series/sankey.md
index bd99a0fa..399c898e 100644
--- a/en/option/series/sankey.md
+++ b/en/option/series/sankey.md
@@ -91,6 +91,14 @@ The layout direction of the nodes in the Sankey diagram, which can be horizontal
The drag-and-drop interaction of the node, which is enabled by default. After opening, the user can drag any node in the Sankey diagram to any position. To turn this interaction off, simply set the value to `false`.
+
+{{ use: partial-view-coord-sys-common(
+ prefix = '#',
+ componentMainType = 'series',
+ componentSubType = 'sankey'
+) }}
+
+
## edgeLabel(Object)
{{ use: sankey-edge-label(
diff --git a/en/option/series/tree.md b/en/option/series/tree.md
index 50c85c48..06856bdf 100644
--- a/en/option/series/tree.md
+++ b/en/option/series/tree.md
@@ -44,19 +44,13 @@ The tree diagram is mainly used to visualize the tree data structure, which is a
none = true
) }}
-## center(Array)
-Center of current view-port. It can be an array containing two `number`s in pixels or `string`s in percentage relative to the container width/height.
-`string` is supported from version `5.3.3`.
-
-Example:
-```ts
-center: [115.97, '30%']
-```
-
-## zoom(number) = 1
+{{ use: partial-view-coord-sys-common(
+ prefix = '#',
+ componentMainType = 'series',
+ componentSubType = 'tree'
+) }}
-Zoom rate of current view-port.
## layout(string) = 'orthogonal'
@@ -108,10 +102,6 @@ This is the position where the polyline branches in the subtree when the shape o
** Note: This configuration item is only valid when `edgeShape = 'polyline'`. **
-## roam(boolean|string) = false
-
-{{ use: partial-roam() }}
-
## expandAndCollapse(boolean) = true
diff --git a/zh/option/component/axis-common.md b/zh/option/component/axis-common.md
index 38a2f183..d17e064d 100644
--- a/zh/option/component/axis-common.md
+++ b/zh/option/component/axis-common.md
@@ -647,6 +647,14 @@ splitLine: {
截断后文字末尾显示的内容。
+{{ if: ${componentType} === 'xAxis' || ${componentType} === 'yAxis' }}
+#${prefix} nameMoveOverlap(boolean) = true
+
+{{ use: partial-version(version = "6.0.0") }}
+
+当 axis name 和 axis label 重叠时,是否自动移动 axis name 来避免重叠。
+{{ /if }}
+
#${prefix} inverse(boolean) = false
diff --git a/zh/option/component/geo-common.md b/zh/option/component/geo-common.md
index 28590a87..bc4e92e8 100644
--- a/zh/option/component/geo-common.md
+++ b/zh/option/component/geo-common.md
@@ -3,8 +3,12 @@
{{ if: ${inMap} }}
{{ var: componentNameInLink = 'series-map' }}
+{{ var: componentMainType = 'series' }}
+{{ var: componentSubType = 'map' }}
{{ else }}
{{ var: componentNameInLink = 'geo' }}
+{{ var: componentMainType = 'geo' }}
+{{ var: componentSubType = null }}
{{ /if }}
#${prefix} map(string) = ''
@@ -81,9 +85,6 @@ $.get('map/topographic_map.svg', function (svg) {
如上所示,ECharts 也可以使用 SVG 格式的地图。详情参见:[SVG 底图](tutorial.html#%E5%9C%B0%E7%90%86%E5%9D%90%E6%A0%87%E7%B3%BB%E5%92%8C%E5%9C%B0%E5%9B%BE%E7%B3%BB%E5%88%97%E7%9A%84%20SVG%20%E5%BA%95%E5%9B%BE)。
-#${prefix} roam(boolean|string) = false
-
-{{ use: partial-roam() }}
#${prefix} projection(Object)
@@ -159,21 +160,12 @@ series: {
该配置并非是必要的。
-#${prefix} center(Array)
-
-当前视角的中心点,默认使用原始坐标(经纬度)。如果设置了`projection`则用投影后的坐标表示。
-
-示例:
-```ts
-center: [115.97, 29.71]
-```
+{{ use: partial-view-coord-sys-common(
+ prefix = ${prefix},
+ componentMainType = ${componentMainType},
+ componentSubType = ${componentSubType}
+) }}
-```ts
-projection: {
- projection: (pt) => project(pt)
-},
-center: project([115.97, 29.71])
-```
#${prefix} aspectScale(number) = 0.75
@@ -200,16 +192,6 @@ boundingCoords: [
],
```
-#${prefix} zoom(number) = 1
-
-当前视角的缩放比例。
-
-#${prefix} scaleLimit(Object)
-
-{{ use: partial-scale-limit(
- prefix = "#" + ${prefix}
-) }}
-
#${prefix} nameMap(Object)
自定义地区的名称映射,如:
diff --git a/zh/option/component/visual-map.md b/zh/option/component/visual-map.md
index be536530..249bdf8e 100644
--- a/zh/option/component/visual-map.md
+++ b/zh/option/component/visual-map.md
@@ -277,10 +277,22 @@ chart.setOption(option); // option设置回 ${componentMainType}
默认取 `data` 中最后一个维度。
-## seriesIndex(number|Array)
+## seriesIndex(number|string|Array)
指定取哪个系列的数据,即哪个系列的 [series.data](~series.data)。
+可取值:
+- 一个系列的 index
+- 系列的 index 的数组
+- `'all'`/`null`/`undefined` (default):取所有系列。
+
+## seriesId(number|string|Array)
+
+{{ use: partial-version(version = "6.0.0") }}
+
+指定取哪个系列的数据,即哪个系列的 [series.data](~series.data)。
+
+可以是一个 id 或者一个 id 数组。
默认取所有系列。
## hoverLink(boolean) = true
diff --git a/zh/option/option.md b/zh/option/option.md
index d2b3f6c2..cbb37655 100644
--- a/zh/option/option.md
+++ b/zh/option/option.md
@@ -120,8 +120,6 @@
defaultFontSize=12
) }}
-{{import: partial-rich-inherit-plain-label }}
-
{{import: partial-animation }}
# stateAnimation(Object)
@@ -166,6 +164,8 @@ ECharts 2 里是底层强制使用单独的层绘制高亮图形,但是会带
关于用户输入的时间值(例如 `1491339540396`, `'2013-01-04'` 等)的解析,参见 [date 中时间相关部分](~series-line.data)。
+{{import: partial-rich-inherit-plain-label }}
+
# options(Array)
用于 [timeline](option.html#timeline) 的 option 数组。数组的每一项是一个 echarts option (`ECUnitOption`)。
diff --git a/zh/option/partial/coord-sys.md b/zh/option/partial/coord-sys.md
index c6d18428..ea32c5c7 100644
--- a/zh/option/partial/coord-sys.md
+++ b/zh/option/partial/coord-sys.md
@@ -268,6 +268,14 @@
布局时所基于的 [地理坐标系](~geo) 的 index。当一个 ECharts 实例中存在多个地理坐标系时,用其指定所使用的坐标系。
+{{ if: ${seriesType} === 'map' }}
+当没有指定 `geoIndex` 和 `geoId` 时,map 系列会为自身创建一个独享的 `geo` 组件。但也可以通过 `geoIndex` 或 `geoId` 指定一个外部的 [geo 组件](~geo),从而与其他系列(如 [pie](~series-pie))共享该坐标系。此外,外部 [geo 组件](~geo) 的区域颜色也可以由 map 系列通过 [visualMap](~visualMap) 控制。
+
+当指定了 `geoIndex` 或 `geoId` 时,[series-map.map](~series-map.map) 以及诸如 [series-map.itemStyle](~series-map.itemStyle) 等样式配置将不再生效,而会采用 [geo 组件](~geo) 中对应的配置。
+{{ /if }}
+
+**参见示例**: [geo-choropleth-scatter](${galleryEditorPath}geo-choropleth-scatter&reset=1&edit=1)
+
## geoId(number) = undefined
{{ if: ${version} }}
@@ -275,6 +283,14 @@
{{ /if }}
布局时所基于的 [地理坐标系](~geo) 的 id。当一个 ECharts 实例中存在多个地理坐标系时,用其指定所使用的坐标系。
+
+{{ if: ${seriesType} === 'map' }}
+当没有指定 `geoIndex` 和 `geoId` 时,map 系列会为自身创建一个独享的 `geo` 组件。但也可以通过 `geoIndex` 或 `geoId` 指定一个外部的 [geo 组件](~geo),从而与其他系列(如 [pie](~series-pie))共享该坐标系。此外,外部 [geo 组件](~geo) 的区域颜色也可以由 map 系列通过 [visualMap](~visualMap) 控制。
+
+当指定了 `geoIndex` 或 `geoId` 时,[series-map.map](~series-map.map) 以及诸如 [series-map.itemStyle](~series-map.itemStyle) 等样式配置将不再生效,而会采用 [geo 组件](~geo) 中对应的配置。
+{{ /if }}
+
+**参见示例**: [geo-choropleth-scatter](${galleryEditorPath}geo-choropleth-scatter&reset=1&edit=1)
{{ /if }}
{{ if: ${parallel} }}
diff --git a/zh/option/partial/rich-inherit-plain-label.md b/zh/option/partial/rich-inherit-plain-label.md
index cce10f5f..1c6d9ecd 100644
--- a/zh/option/partial/rich-inherit-plain-label.md
+++ b/zh/option/partial/rich-inherit-plain-label.md
@@ -6,4 +6,24 @@
富文本样式是否继承普通文本样式。
-从 v6 版本开始,标签的富文本部分样式(`fontStyle`, `fontWeight`, `fontSize`, `fontFamily`, `textShadowColor`, `textShadowBlur`, `textShadowOffsetX`, `textShadowOffsetY`)默认继承普通文本样式。你可以设置 `richInheritPlainLabel: false` (可在最外层配置项或与同级文本样式配置项)来禁用此行为。参见 [#20977](https://github.com/apache/echarts/pull/20977)。
\ No newline at end of file
+此配置项用于向历史兼容。
+
+> 从 v6 版本开始,[富文本标签 (label.rich / textStyle.rich)](~series-scatter.label.rich) 部分样式(`fontStyle`, `fontWeight`, `fontSize`, `fontFamily`, `textShadowColor`, `textShadowBlur`, `textShadowOffsetX`, `textShadowOffsetY`)默认继承 [普通文本样式 (label / textStyle)](~series-scatter.label)。你可以设置 `richInheritPlainLabel: false` (可在最外层配置项或与同级文本样式配置项)来禁用此行为。
+> ```js
+> option = {
+> richInheritPlainLabel: false, // In most cases, this is enough.
+> xxx1: {
+> // Can also set it here to only control this label.
+> label: {
+> richInheritPlainLabel: false,
+> rich: {/* ... */},
+> }
+> },
+> xxx2: {
+> textStyle: {
+> richInheritPlainLabel: false,
+> rich: {/* ... */},
+> }
+> }
+> }
+> ```
diff --git a/zh/option/partial/view-coord-sys.md b/zh/option/partial/view-coord-sys.md
new file mode 100644
index 00000000..1c8b685c
--- /dev/null
+++ b/zh/option/partial/view-coord-sys.md
@@ -0,0 +1,77 @@
+{{ target: partial-view-coord-sys-common }}
+
+{{ if: ${componentMainType} && ${componentSubType} }}
+{{ var: componentNameInLink = ${componentMainType} + '-' + ${componentSubType} }}
+{{ else }}
+{{ var: componentNameInLink = ${componentMainType} }}
+{{ /if }}
+
+{{ if: ${componentNameInLink} === 'geo'
+ || ${componentNameInLink} === 'series-map'
+}}
+{{ var: isGeoOrMap = true }}
+{{ var: sourceName = "地图" }}
+{{ else }}
+{{ var: sourceName = "图形" }}
+{{ /if }}
+
+#${prefix} center(Array)
+
+{{ if: ${componentNameInLink} === 'series-graph' || ${componentNameInLink} === 'series-sankey' }}
+
+{{ /if }}
+
+`center` 指定了把${sourceName}上的哪个点放在可视区的中心。
+
+{{ if: ${isGeoOrMap} }}
+默认使用原始坐标(经纬度)。如果设置了 [proejction](~${componentNameInLink}.projection) 则用投影后的坐标。
+
+示例:
+```ts
+// 把地图的这个经纬度对应的点放在可视区的中心。
+center: [115.97, 29.71]
+```
+
+```ts
+projection: {
+ projection: (pt) => project(pt)
+},
+center: project([115.97, 29.71])
+```
+{{ /if }}
+
+`center` 也可以是一个百分比字符串,例如 `'30%'`,分母是${sourceName}的包围盒高宽{{ if: ${isGeoOrMap} }}(由经纬度的最大最小值决定;或者,在设置了 [projection](~${componentNameInLink}.projection) 时,由投影后得到的最大最小坐标决定){{ /if }}。你可以使用 `'0%'` 将${sourceName}的顶部或左侧对齐到视口(画布)中心,或使用 `'100%'` 将右侧或底部对齐到视口中心。
+
+例如:
+```ts
+center: [115.97, '30%']
+// 将${sourceName}的顶部放置到视口(画布)中心
+center: [115.97, '0%']
+// 将${sourceName}的最左侧放置到视口(画布)中心
+center: ['0%', 13]
+// 将${sourceName}的底部放置到视口(画布)中心
+center: [115.97, '100%']
+// 将${sourceName}的最右侧放置到视口(画布)中心
+center: ['100%', 13]
+```
+
+> 百分比字符串从 `v5.3.3` 开始引入。最初是分母是画布的宽高,但这种方式并不合理,因此从 `v6.0.0` 起改为基于包围盒。
+
+
+#${prefix} zoom(number) = 1
+
+{{ if: ${componentNameInLink} === 'series-graph' || ${componentNameInLink} === 'series-sankey' }}
+
+{{ /if }}
+
+当前视角的缩放比例。
+
+#${prefix} scaleLimit(Object)
+
+{{ use: partial-scale-limit(
+ prefix = "#" + ${prefix}
+) }}
+
+#${prefix} roam(boolean|string) = false
+
+{{ use: partial-roam() }}
diff --git a/zh/option/series/graph.md b/zh/option/series/graph.md
index 3b8a6136..ba3a7bfb 100644
--- a/zh/option/series/graph.md
+++ b/zh/option/series/graph.md
@@ -42,24 +42,6 @@ option.series[0].data.forEach(function (item) {
matrix = true
) }}
-## center(Array)
-
-
-
-当前视角的中心点。可以是包含两个 `number` 类型(表示像素值)或 `string` 类型(表示相对容器的百分比)的数组。
-从 `5.3.3` 版本开始支持 `string` 类型。
-
-例如:
-```ts
-center: [115.97, '30%']
-```
-
-## zoom(number) = 1
-
-
-
-当前视角的缩放比例。
-
## layout(string) = 'none'
@@ -142,16 +124,14 @@ edgeLength: [10, 50]
但是仍然是个试验性的参数,参见 [#11024](https://github.com/apache/echarts/issues/11024)。
-## roam(boolean|string) = false
-
-{{ use: partial-roam() }}
-
-## scaleLimit(Object)
-{{ use: partial-scale-limit(
- prefix = "##"
+{{ use: partial-view-coord-sys-common(
+ prefix = '#',
+ componentMainType = 'series',
+ componentSubType = 'graph'
) }}
+
## nodeScaleRatio(number) = 0.6
diff --git a/zh/option/series/sankey.md b/zh/option/series/sankey.md
index a74c5730..ed6da977 100644
--- a/zh/option/series/sankey.md
+++ b/zh/option/series/sankey.md
@@ -94,6 +94,14 @@ const option = {"tooltip":{"trigger":"item","triggerOn":"mousemove"},"series":[{
控制节点拖拽的交互,默认开启。开启后,用户可以将图中任意节点拖拽到任意位置。若想关闭此交互,只需将值设为 `false` 就行了。
+
+{{ use: partial-view-coord-sys-common(
+ prefix = '#',
+ componentMainType = 'series',
+ componentSubType = 'sankey'
+) }}
+
+
## edgeLabel(Object)
{{ use: sankey-edge-label(
diff --git a/zh/option/series/tree.md b/zh/option/series/tree.md
index 660a4ef7..f0f77155 100644
--- a/zh/option/series/tree.md
+++ b/zh/option/series/tree.md
@@ -87,19 +87,12 @@ const option = {
none = true
) }}
-## center(Array)
-当前视角的中心点。可以是包含两个 `number` 类型(表示像素值)或 `string` 类型(表示相对容器的百分比)的数组。
-从 `5.3.3` 版本开始支持 `string` 类型。
-
-例如:
-```ts
-center: [115.97, '30%']
-```
-
-## zoom(number) = 1
-
-当前视角的缩放比例。
+{{ use: partial-view-coord-sys-common(
+ prefix = '#',
+ componentMainType = 'series',
+ componentSubType = 'tree'
+) }}
## layout(string) = 'orthogonal'
@@ -151,10 +144,6 @@ center: [115.97, '30%']
**注意:该配置项只有在 `edgeShape = 'polyline'` 时才有效。**
-## roam(boolean|string) = false
-
-{{ use: partial-roam() }}
-
## expandAndCollapse(boolean) = true