我创建了一个图表,但它在Y.Axis和图表边框之间有一个左边距。
如何将其设为0?
是否可以在图表和边框之间定义5px的均匀边距(左,上,右,下)?
我的图表代码如下:
Chart chart = new Chart {
AntiAliasing = AntiAliasingStyles.All,
TextAntiAliasingQuality = TextAntiAliasingQuality.High,
BackColor = Color.FromArgb(250, 250, 250),
Height = size.Height,
Width = size.Width
};
chart.Legends.Clear();
ChartArea area = new ChartArea {
BackColor = Color.Transparent,
BorderColor = Color.FromArgb(240, 240, 240),
BorderWidth = 1,
BorderDashStyle = ChartDashStyle.Solid,
AxisX = new Axis {
Enabled = AxisEnabled.True,
IntervalAutoMode = IntervalAutoMode.VariableCount,
IsLabelAutoFit = true,
IsMarginVisible = true,
LabelStyle = new LabelStyle { ForeColor = Color.FromArgb(100, 100, 100), Font = new Font("Arial", 10, FontStyle.Regular) },
LineColor = Color.FromArgb(220, 220, 220),
MajorGrid = new Grid { LineColor = Color.FromArgb(240, 240, 240), LineDashStyle = ChartDashStyle.Solid },
MajorTickMark = new TickMark { LineColor = Color.FromArgb(220, 220, 220), Size = 4.0f },
},
AxisY = new Axis {
Enabled = AxisEnabled.True,
IntervalAutoMode = IntervalAutoMode.VariableCount,
IsLabelAutoFit = true,
IsMarginVisible = true,
LabelStyle = new LabelStyle { ForeColor = Color.FromArgb(100, 100, 100), Font = new Font("Arial", 10, FontStyle.Regular) },
LineColor = Color.Transparent,
MajorGrid = new Grid { LineColor = Color.FromArgb(240, 240, 240), LineDashStyle = ChartDashStyle.Solid },
MajorTickMark = new TickMark { LineColor = Color.FromArgb(240, 240, 240), Size = 2.0f }
},
Position = new ElementPosition { Height = 100, Width = 100, X = 0, Y = 0 }
};
chart.ChartAreas.Add(area);
area.AxisX.LabelStyle.Format = "H:mm";
area.AxisX.LabelStyle.IntervalType = DateTimeIntervalType.Hours;
Series series = new Series {
CustomProperties = "PointWidth = 1",
IsXValueIndexed = true,
XValueType = (ChartValueType)Enum.Parse(typeof(ChartValueType), x.Data.GetType().GetGenericArguments()[0].Name)
};
series.BorderWidth = 2;
series.BorderColor = Color.FromArgb(84, 164, 232);
series.ChartType = SeriesChartType.Area;
series.Color = Color.FromArgb(222, 234, 244);
series.Points.DataBindXY(x.Data, s.Data);
chart.Series.Add(series);
谢谢,
米格尔
答案 0 :(得分:3)
您可以使用Axis.IsMarginVisible = false
删除轴边距
您可以使用ChartArea.Position
定位图表区域,或使用ChartArea.InnerPlotPosition