iChartOptions.d.ts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. export declare enum ChartType {
  2. GroupedColumn = "groupedColumn",
  3. StackedColumn = "stackedColumn",
  4. NormalizedColumn = "normalizedColumn",
  5. GroupedBar = "groupedBar",
  6. StackedBar = "stackedBar",
  7. NormalizedBar = "normalizedBar",
  8. Line = "line",
  9. Scatter = "scatter",
  10. Bubble = "bubble",
  11. Pie = "pie",
  12. Doughnut = "doughnut",
  13. Area = "area",
  14. StackedArea = "stackedArea",
  15. NormalizedArea = "normalizedArea",
  16. Histogram = "histogram"
  17. }
  18. export declare type ChartMenuOptions = 'chartSettings' | 'chartData' | 'chartFormat' | 'chartUnlink' | 'chartDownload';
  19. export interface SeriesOptions {
  20. fill: FillOptions;
  21. stroke: StrokeOptions;
  22. highlightStyle: HighlightOptions;
  23. listeners?: {
  24. [key in string]: Function;
  25. };
  26. }
  27. export interface ChartOptions<T extends SeriesOptions> {
  28. document?: Document;
  29. seriesDefaults: T;
  30. width?: number;
  31. height?: number;
  32. padding: PaddingOptions;
  33. background: BackgroundOptions;
  34. title: CaptionOptions;
  35. subtitle: CaptionOptions;
  36. navigator: NavigatorOptions;
  37. legend: LegendOptions;
  38. tooltipClass?: string;
  39. listeners?: {
  40. [key in string]: Function;
  41. };
  42. }
  43. export interface PaddingOptions {
  44. top: number;
  45. right: number;
  46. bottom: number;
  47. left: number;
  48. }
  49. export interface BackgroundOptions {
  50. fill: string;
  51. visible: boolean;
  52. }
  53. export interface FontOptions {
  54. fontStyle: FontStyle;
  55. fontWeight: FontWeight;
  56. fontSize: number;
  57. fontFamily: string;
  58. color: string;
  59. }
  60. export declare type FontStyle = 'normal' | 'italic' | 'oblique';
  61. export declare type FontWeight = 'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
  62. export interface CaptionOptions extends FontOptions {
  63. enabled: boolean;
  64. text?: string;
  65. }
  66. export interface LegendOptions {
  67. enabled: boolean;
  68. position: LegendPosition;
  69. spacing: number;
  70. item: LegendItemOptions;
  71. }
  72. export declare enum LegendPosition {
  73. Top = "top",
  74. Right = "right",
  75. Bottom = "bottom",
  76. Left = "left"
  77. }
  78. export interface LegendItemOptions {
  79. label: LegendLabelOptions;
  80. marker: LegendMarkerOptions;
  81. paddingX: number;
  82. paddingY: number;
  83. }
  84. export interface LegendLabelOptions extends FontOptions {
  85. }
  86. export interface NavigatorOptions {
  87. enabled: boolean;
  88. height: number;
  89. min: number;
  90. max: number;
  91. mask: NavigatorMaskOptions;
  92. minHandle: NavigatorHandleOptions;
  93. maxHandle: NavigatorHandleOptions;
  94. }
  95. export interface NavigatorMaskOptions {
  96. fill: string;
  97. stroke: string;
  98. strokeWidth: number;
  99. fillOpacity: number;
  100. }
  101. export interface NavigatorHandleOptions {
  102. fill: string;
  103. stroke: string;
  104. strokeWidth: number;
  105. width: number;
  106. height: number;
  107. gripLineGap: number;
  108. gripLineLength: number;
  109. }
  110. export declare type MarkerShape = 'circle' | 'cross' | 'diamond' | 'plus' | 'square' | 'triangle';
  111. export interface LegendMarkerOptions {
  112. shape: MarkerShape;
  113. size: number;
  114. padding: number;
  115. strokeWidth: number;
  116. }
  117. export interface CartesianChartOptions<T extends SeriesOptions> extends ChartOptions<T> {
  118. xAxis: AxisOptions;
  119. yAxis: AxisOptions;
  120. navigator: NavigatorOptions;
  121. }
  122. export interface PolarChartOptions<T extends SeriesOptions> extends ChartOptions<T> {
  123. }
  124. export interface AxisOptions {
  125. type?: AxisType;
  126. title: CaptionOptions;
  127. line: AxisLineOptions;
  128. tick: AxisTickOptions;
  129. label: AxisLabelOptions;
  130. gridStyle: GridStyle[];
  131. }
  132. export declare type AxisType = 'category' | 'number' | 'time';
  133. export interface AxisLineOptions {
  134. width: number;
  135. color: string;
  136. }
  137. export interface AxisTickOptions {
  138. width: number;
  139. size: number;
  140. color: string;
  141. }
  142. declare type AxisLabelFormatter = (params: {
  143. value: any;
  144. index: number;
  145. fractionDigits?: number;
  146. formatter?: (x: any) => string;
  147. }) => string;
  148. export interface AxisLabelOptions extends FontOptions {
  149. padding: number;
  150. rotation: number;
  151. format?: string;
  152. formatter?: AxisLabelFormatter;
  153. }
  154. export interface GridStyle {
  155. stroke: string;
  156. lineDash?: number[];
  157. }
  158. export interface HighlightOptions {
  159. fill: string;
  160. stroke?: string;
  161. }
  162. export interface FillOptions {
  163. colors: string[];
  164. opacity: number;
  165. }
  166. export interface StrokeOptions {
  167. colors: string[];
  168. opacity: number;
  169. width: number;
  170. }
  171. export interface DropShadowOptions {
  172. enabled: boolean;
  173. color: string;
  174. xOffset: number;
  175. yOffset: number;
  176. blur: number;
  177. }
  178. export interface SeriesLabelOptions extends FontOptions {
  179. enabled: boolean;
  180. }
  181. export interface TooltipOptions<TParams> {
  182. enabled: boolean;
  183. renderer?: (params: TParams) => string;
  184. }
  185. export interface TooltipRendererParams {
  186. datum: any;
  187. title?: string;
  188. color: string;
  189. }
  190. export interface CartesianTooltipRendererParams extends TooltipRendererParams {
  191. xKey: string;
  192. xName: string;
  193. yKey: string;
  194. yName: string;
  195. }
  196. export interface BarSeriesOptions extends SeriesOptions {
  197. shadow: DropShadowOptions;
  198. label: BarSeriesLabelOptions;
  199. tooltip: TooltipOptions<BarTooltipRendererParams>;
  200. }
  201. export interface HistogramSeriesOptions extends BarSeriesOptions {
  202. binCount?: number;
  203. }
  204. export interface BarSeriesLabelOptions extends SeriesLabelOptions {
  205. formatter?: (params: {
  206. value: number;
  207. }) => string;
  208. }
  209. export interface BarTooltipRendererParams extends CartesianTooltipRendererParams {
  210. }
  211. export interface LineSeriesOptions extends SeriesOptions {
  212. marker: MarkerOptions;
  213. tooltip: TooltipOptions<LineTooltipRendererParams>;
  214. }
  215. export interface MarkerOptions {
  216. enabled: boolean;
  217. shape: MarkerShape;
  218. size: number;
  219. strokeWidth: number;
  220. }
  221. export interface LineTooltipRendererParams extends CartesianTooltipRendererParams {
  222. }
  223. export interface ScatterSeriesOptions extends SeriesOptions {
  224. marker: ScatterMarkerOptions;
  225. tooltip: TooltipOptions<ScatterTooltipRendererParams>;
  226. paired: boolean;
  227. }
  228. export interface ScatterMarkerOptions extends MarkerOptions {
  229. minSize?: number;
  230. }
  231. export interface ScatterTooltipRendererParams extends CartesianTooltipRendererParams {
  232. sizeKey?: string;
  233. sizeName?: string;
  234. labelKey?: string;
  235. labelName?: string;
  236. }
  237. export interface AreaSeriesOptions extends SeriesOptions {
  238. marker: MarkerOptions;
  239. shadow: DropShadowOptions;
  240. tooltip: TooltipOptions<AreaTooltipRendererParams>;
  241. }
  242. export interface AreaTooltipRendererParams extends CartesianTooltipRendererParams {
  243. }
  244. export interface PieSeriesOptions extends SeriesOptions {
  245. title: CaptionOptions;
  246. label: PieSeriesLabelOptions;
  247. callout: PieSeriesCalloutOptions;
  248. shadow: DropShadowOptions;
  249. tooltip: TooltipOptions<PieTooltipRendererParams>;
  250. }
  251. export interface PieSeriesLabelOptions extends SeriesLabelOptions {
  252. minRequiredAngle: number;
  253. offset: number;
  254. }
  255. export interface PieSeriesCalloutOptions {
  256. length: number;
  257. strokeWidth: number;
  258. colors: string[];
  259. }
  260. export interface PieTooltipRendererParams extends TooltipRendererParams {
  261. angleKey: string;
  262. angleName?: string;
  263. labelKey?: string;
  264. labelName?: string;
  265. }
  266. export {};