チャートの軸の最大値に最大の系列値よりもかなり小さい値を手動で設定した場合、例外が発生する

文書番号 : 38463     文書種別 : 不具合     登録日 : 2015/05/19     最終更新日 : 2015/07/23
文書を印刷する
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
チャートの軸の最大値に最大の系列値よりもかなり小さい値を手動で設定した場合、例外(System.Exception)が発生します。

【手順】
1.新規フォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
  --例外(System.Exception)が発生します

【サンプルコード】
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' データの作成
    FpSpread1.ActiveSheet.SetArray(0, 0, New Object(,) {{Nothing, "A", "B", "C", "D", "E"}})
    ' Y軸の最大最小から大きく離れた値をデータに設定
    FpSpread1.ActiveSheet.SetArray(1, 0, New Object(,) {{"S-1", 10, 20, 30, 40, 1000000000}})

    ' チャートの作成
    Dim chart1 As New FarPoint.Win.Spread.Chart.SpreadChart()
    chart1.ChartName = "chart1"
    chart1.Size = New Size(600, 400)
    chart1.Location = New Point(0, 30)

    ' シリーズの作成
    Dim series1 As New FarPoint.Win.Chart.LineSeries
    series1.SeriesNameDataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldSeriesName", "Sheet1!$A$2:$A$2", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
    series1.CategoryNames.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
    series1.Values.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldValue", "Sheet1!$B$2:$F$2")
    series1.PointMarker = New FarPoint.Win.Chart.BuiltinMarker(FarPoint.Win.Chart.MarkerShape.Circle, 5)

    ' プロットエリアの作成
    Dim plotArea As New FarPoint.Win.Chart.YPlotArea()
    plotArea.Location = New PointF(0.15F, 0.05F)
    plotArea.Size = New SizeF(0.7F, 0.55F)
    plotArea.Series.Add(series1)

    ' Y軸の最大・最小を設定する。
    plotArea.YAxes(0).AutoMaximum = False
    plotArea.YAxes(0).AutoMinimum = False
    plotArea.YAxes(0).Maximum = 100
    plotArea.YAxes(0).Minimum = 0

    ' チャートモデルの作成と設定
    Dim model As New FarPoint.Win.Chart.ChartModel()
    model.PlotAreas.Add(plotArea)
    chart1.Model = model

    ' SPREADの設定
    FpSpread1.ActiveSheet.Charts.Add(chart1)
  End Sub
回避方法
Service Pack 5(v7.0.2018.2008)で修正済み。