问题似乎出在天平上。请注意,气泡系列被认为是根据轴比例绘制半径。
您的 XValues 从 239.560,5 变为 5.776.576,87。这是一个 5.537.016,37 范围。你有一个 473 像素长度的 X 轴。所以这意味着在每 2 X 像素之间有 11.706,166 的增量。
您的 Y 值从 67086938,62 变为 63.500.3298,6。这是一个 567.916.359,98 范围。你有一个 228 像素长度的 Y 轴。所以这意味着在每 2 个 Y 像素之间有一个 2.490.861,228 的增量。
你的半径从 39.728.41 到 952.021,78。
这些半径大于 X 像素增量,因此可以。
但是这些半径小于 Y 像素增量,所以简而言之,这些气泡的半径对于它们所代表的 Y 轴范围来说太小了。
我看到你有两个选择:
您可以将半径值乘以 100 或更多。如果您查看轴刻度,这将导致错误的气泡大小。但也许对您来说重要的是保持气泡之间的比例,而不是在通过半径的轴中指示值。
将系列类型更改为 3D 类型。由于您要表示 3 个值,每个值都遵循完全不同的比例,因此使用 3D 系列类型(例如 Points3D)可能更符合逻辑。IE:
tChart1.Header.Visible = false;
tChart1.Aspect.Chart3DPercent = 50;
tChart1.Legend.Alignment = LegendAlignments.Top;
tChart1.Legend.TextStyle = LegendTextStyles.Plain;
tChart1.Axes.Depth.Visible = true;
tChart1.Axes.Bottom.Title.Text = "XValues";
tChart1.Axes.Left.Title.Text = "YValues";
tChart1.Axes.Depth.Title.Text = "ZValues";
Points3D points3D1 = new Points3D(tChart1.Chart);
points3D1.ColorEach = true;
points3D1.LinePen.Visible = false;
points3D1.BaseLine.Visible = true;
points3D1.Add(544161.66, 114160840.39, 82491.58, "ComEd Commercial");
points3D1.Add(239560.5, 67086938.62, 39728.41, "PECO Commercial");
points3D1.Add(5776576.87, 635003298.6, 952021.78, "ComEd Residential");
points3D1.Add(2657157.7, 552875694.07, 412903.38, "PECO Residential");