MVC3ビューでMSチャートで生成された画像を使用しています。
グラフは機能しますが、グラフの上部にある最大値が高すぎて、値を読み取ることができません。
グラフには最大値からのマージンが必要ではありませんか?
これが実際の問題かどうかはよくわかりませんが、動的な値で使用すべきではないと思われる AxisYMaximum 値を定義しない限り、見栄えを良くすることはできません。
MVC3ビューでMSチャートで生成された画像を使用しています。
グラフは機能しますが、グラフの上部にある最大値が高すぎて、値を読み取ることができません。
グラフには最大値からのマージンが必要ではありませんか?
これが実際の問題かどうかはよくわかりませんが、動的な値で使用すべきではないと思われる AxisYMaximum 値を定義しない限り、見栄えを良くすることはできません。
はい、グラフ コントロールはデータを明確に表示するために必要なマージンを計算する必要がありますが、私の経験ではそうではありません。
y 値は動的であるため、表示されている最大の y 値のすぐ上の値に AxisYMaximum を動的に設定できます。このようなものはそれを設定できます:
double greatestYValue = double.MinValue;
foreach (var pt in Chart1.Series[0].Points)
{
if (greatestYValue < pt.YValues[0]) greatestYValue = pt.YValues[0];
}
Chart1.ChartAreas[0].AxisY.Maximum = greatestYValue * 1.2;
// or
Chart1.ChartAreas[0].AxisY.Maximum = greatestYValue + 20;
最初のシリーズのすべてのポイントをループして最大の y 値を見つけ、次に y 軸の最大値をその値の 120%、またはその値を超える絶対量、または必要なものに設定しました。
LINQ を使用して、ワンライナーで最大の y 値を取得することもできます。
double greatestYValue = Chart1.Series[0].Points.Select(p => p.YValues[0]).Max();