Class ChartBuilder<B extends ChartBuilder<B,C>, C extends ChartSpec>

java.lang.Object
io.leandev.appfuse.report.chart.ChartBuilder<B,C>
Type Parameters:
B - builder 型別
C - 圖表型別
Direct Known Subclasses:
BarChart.Builder, LineChart.Builder

public abstract sealed class ChartBuilder<B extends ChartBuilder<B,C>, C extends ChartSpec> extends Object permits BarChart.Builder, LineChart.Builder
長條圖與折線圖共用的 builder
Since:
4.0.0
  • Method Details

    • title

      public B title(String title)
      圖內標題;null 不顯示(一般以 Figure 的圖說為標題)
    • categories

      public B categories(String... categories)
    • categories

      public B categories(List<String> categories)
    • series

      public B series(String name, List<Double> values)
      使用預設色盤的系列
    • series

      public B series(String name, List<Double> values, ReportColor color)
    • series

      public B series(ChartSeries series)
    • valueAxis

      public B valueAxis(UnaryOperator<ValueAxis> customizer)
    • legend

      public B legend(boolean legend)
      多於一個系列時是否顯示圖例;預設 true
    • noDataText

      public B noDataText(String noDataText)
      無資料時在繪圖區置中顯示的文字;預設「無資料」
    • textStyle

      public B textStyle(TextStyle textStyle)
      文字樣式覆寫:字型家族、字級(預設 9pt,標題大 2pt)、粗細與顏色
    • build

      public abstract C build()
      驗證資料並建立圖表
      Throws:
      IllegalArgumentException - 資料不合法(見 REP-04 契約「輸入驗證」)
    • toFigure

      public Figure toFigure(FigureFrame frame)
      build().toFigure(frame) 的簡寫