3

ZedGraph でヒストグラムを作成しようとしています。

バーとデータはすべて良好です。必要なのは、私のバーが直接目盛上ではなく、目盛の間にあることだけです。

サンプルデータ:

1, 4
2, 8
3, 1

私が持っていることを意味します:

4 items that are >= 0 and < 1
8 items that are >= 1 and < 2
1 item that is >= 2 and < 3

したがって、現在、私のバーはもちろん目盛り (x 値) 1、2、および 3 に直接表示されています。

しかし、私は見たい:

  • ティック 0 と 1 の間の最初のバー、
  • 目盛り 1 と 2 の間の 2 番目のバーと
  • ティック 2 と 3 の間の 3 番目のバー

それを達成するために微調整するプロパティは何ですか? XAxis現在とを探していXAxis.Scaleますが、まだ何も見つかりません...

4

1 に答える 1

3

おそらくノーマルでは無理でしょうBarItem。オブジェクトを使用BoxObjしてヒストグラムを作成します。

にヒストグラム値のペア (ブレークポイントと値) が含まれている場合histListは、PointPairList次を使用できます。

for (int i = 0; i < histList.Count - 1; i++)
{
BoxObj box = new BoxObj(histList[i].X, histList[i].Y, histList[i + 1].X - histList[i].X, histList[i].Y);
box.IsClippedToChartRect = true;
box.Fill.Color = myColor;
pane.GraphObjList.Add(box);
}

を使用するBoxObjと、バーの場所などを完全に制御できます。ドキュメントの詳細情報

編集(または一般的に)
を使用する場合、XおよびYスケールは自動的に設定されないことに注意してください。スケール範囲を手動で設定する必要があります。BoxObjGraphObj

pane.XAxis.Scale.Min = ...
pane.XAxis.Scale.Max = ...
pane.YAxis.Scale.Min = ...
pane.YAxis.Scale.Max = ...
于 2010-10-10T22:14:35.830 に答える