## 圖形屬性
圖形屬性對應視覺編碼中的視覺通道,是 G2 語法元素非常重要和靈活的一部分,不同的幾何標記擁有自己的圖形屬性。G2 中支持的圖形屬性有下面幾種:
1. position:位置,二維坐標系內映射至 x 軸、y 軸;
2. color:顏色,包含了色調、飽和度和亮度;
3. size:大小,不同的幾何標記對大小的定義有差異;
4. shape:形狀,幾何標記的形狀決定了某個具體圖表類型的表現形式,例如點圖,可以使用圓點、三角形、圖片表示;線圖可以有折線、曲線、點線等表現形式;
5. opacity:透明度,圖形的透明度,這個屬性從某種意義上來說可以使用顏色代替,需要使用 'rgba' 的形式,所以在 G2 中我們獨立出來。
## 圖形屬性聲明語法
在 G2 中,我們這樣定義圖形屬性的映射語法。
首先需要明確一點:**圖形屬性是屬于每一個幾何標記 geom(Geometry) 的**,所以我們先要聲明幾何標記,然后再在該幾何標記對象上進行圖形屬性的映射,代碼如下:
~~~js
chart.<幾何標記>().<幾何屬性>(字段[, 回調函數);
~~~
語法示例:
~~~js
//point()是幾何標記 position('a*b')和color() 是幾何屬性
chart.point().position('a*b').color('c');
chart.interval().position('a*b').color('c', (cValue) => {
if (cvalue === 'fail') {
return 'red';
}
return 'green';
});
~~~