Exemplo n.º 1
0
        /// <summary>
        /// 获得一个类目数据在坐标系中代表的宽度
        /// </summary>
        /// <param name="coordinateWidth"></param>
        /// <param name="dataZoom"></param>
        /// <returns></returns>
        public static float GetDataWidth(Axis axis, float coordinateWidth, int dataCount, DataZoom dataZoom)
        {
            if (dataCount < 1)
            {
                dataCount = 1;
            }
            if (axis.IsValue())
            {
                return(dataCount > 1 ? coordinateWidth / (dataCount - 1) : coordinateWidth);
            }
            var categoryCount = axis.GetDataCount(dataZoom);
            int segment       = (axis.boundaryGap ? categoryCount : categoryCount - 1);

            segment = segment <= 0 ? dataCount : segment;
            if (segment <= 0)
            {
                segment = 1;
            }

            return(coordinateWidth / segment);
        }