C# Dundas 图表自动缩放 Y 轴,没有超过 100% 的值
C# Dundas Charts Auto-Scale Y Axis with no values over 100%
我在 Visual Studio 中使用 C# 使用 Dundas 图表。
我的图表显示百分比值,如果我不使用最大 y 轴值,图表将自动缩放轴 - 但是,有时它会显示超过 100% 的值(即使 none值实际上超过 100%)。
如何允许轴根据图表值改变大小,但不允许它超过 100%?
对于任何感兴趣的人,我决定以编程方式为每个图表设置 Y 轴的最大值。
以下代码用于从给定数组中获取最大值和 return 100 或向上舍入为 10 的下一个倍数的最大值:
int GetYAxisMaxValue(decimal[] yValues)
{
var max = yValues.Max();
var output = 0m;
if (yValues.Max() % 10 == 0) output = max;
else output = max + (10 - max % 10);
if (output > 100) return 100;
else return Convert.ToInt32(output);
}
然后用于创建图表,设置:
chart.ChartAreas["Default"].AxisY.Maximum = GetYAxisMaxValue(...);
希望对您有所帮助。
我在 Visual Studio 中使用 C# 使用 Dundas 图表。
我的图表显示百分比值,如果我不使用最大 y 轴值,图表将自动缩放轴 - 但是,有时它会显示超过 100% 的值(即使 none值实际上超过 100%)。
如何允许轴根据图表值改变大小,但不允许它超过 100%?
对于任何感兴趣的人,我决定以编程方式为每个图表设置 Y 轴的最大值。
以下代码用于从给定数组中获取最大值和 return 100 或向上舍入为 10 的下一个倍数的最大值:
int GetYAxisMaxValue(decimal[] yValues)
{
var max = yValues.Max();
var output = 0m;
if (yValues.Max() % 10 == 0) output = max;
else output = max + (10 - max % 10);
if (output > 100) return 100;
else return Convert.ToInt32(output);
}
然后用于创建图表,设置:
chart.ChartAreas["Default"].AxisY.Maximum = GetYAxisMaxValue(...);
希望对您有所帮助。