You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整两个ChartArea的高度与间距,并迁移Series至指定ChartArea

WinForms Chart多ChartArea布局与Series迁移问题解决

问题场景

调整WinForms Chart控件的两个ChartArea高度及Series关联设置时,最初直接使用Position.Height、Position.Y属性未实现预期布局。

具体需求

  • Chart控件(chart1)尺寸固定为1900×1029
  • ChartArea 0高度设为1420像素,ChartArea 1高度设为460像素,保持完整宽度,两者之间预留10像素空白
  • 将对应右侧X0-X4的Series2迁移至ChartArea1,并为Series2添加标题

解决代码

通过设置ChartArea的Position百分比属性实现布局(Position属性默认使用相对控件容器的百分比,而非绝对像素值,这是之前设置失败的核心原因):

chart1.ChartAreas["ChartArea1"].Position.Width = 85;
chart1.ChartAreas["ChartArea1"].Position.Height = 70;
chart1.ChartAreas["ChartArea2"].Position.Width = 85;
chart1.ChartAreas["ChartArea2"].Position.Height = 30;
chart1.ChartAreas["ChartArea2"].Position.Y = 70;

同时补充Series2的迁移及标题设置代码:

// 将Series2关联到ChartArea1
chart1.Series["Series2"].ChartArea = "ChartArea1";
// 为Series2添加独立标题
var series2Legend = new Legend("Series2Legend") 
{ 
    Title = "Series2",
    Docking = Docking.Right // 可根据需求调整停靠位置
};
chart1.Legends.Add(series2Legend);
chart1.Series["Series2"].Legend = "Series2Legend";

内容的提问来源于stack exchange,提问作者Kababum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:55:15