如何在绑定DataTable的.NET Chart系列中创建折线中断
实现.NET Line图表指定位置断开线条(无需多系列)
可以实现,不需要拆分多个系列,核心思路是利用.NET图表对空值的自动跳过逻辑:
操作步骤:
- 定位到DataTable中需要断开线条的两个连续数据项,在它们之间插入一行新数据
- 将该行的
YValueMember对应的列值设为DBNull.Value,X值可根据轴类型设置(连续轴设为两点间合理值,分类轴设为占位符即可)
代码示例:
假设你的DataTable包含X(横轴字段)和Y(纵轴字段)两列,要在索引为i和i+1的行之间断开线条:// 确定插入空行的位置 int insertPosition = i + 1; // 创建空行 DataRow breakRow = yourDataTable.NewRow(); // X值可根据业务逻辑设置,比如取前后点的中间值或直接沿用前点X值 breakRow["X"] = yourDataTable.Rows[i]["X"]; // 关键:将Y值设为DBNull,触发图表断开线条 breakRow["Y"] = DBNull.Value; // 插入到DataTable指定位置 yourDataTable.Rows.InsertAt(breakRow, insertPosition);注意事项:
- 默认情况下,Line系列会自动跳过Y值为
DBNull.Value的点,不绘制前后连线 - 如果你的图表设置了
Series.IsXValueIndexed = true,需要改为false,否则空值可能无法正确触发断开逻辑 - 若X轴为分类轴,空行的X值可以设为一个不影响显示的占位符(比如空字符串),只要Y值是
DBNull即可生效
- 默认情况下,Line系列会自动跳过Y值为
内容的提问来源于stack exchange,提问作者SimonKravis
相关产品推荐
相关产品推荐

