Oxyplot柱状图如何调整柱子宽度?已找到的自定义方法不知如何应用
Oxyplot自定义柱子宽度实现方案
步骤1:创建自定义柱状序列类
继承官方ColumnSeries类,把重写宽度计算逻辑的方法放到这个类里:
using OxyPlot.Series; using OxyPlot.Axes; public class CustomWidthColumnSeries : ColumnSeries { protected override double GetActualBarWidth() { var categoryAxis = this.GetCategoryAxis(); return this.ColumnWidth / (1 + categoryAxis.GapWidth) / categoryAxis.MaxWidth; } }
步骤2:替换原有代码中的ColumnSeries
找到你视图模型中实例化柱状序列的代码,把原来的ColumnSeries换成你刚写的自定义类即可,其余原有配置全部保留不用修改:
// 把原来的 ColumnSeries s2 = new ColumnSeries(); 替换成下面这行 CustomWidthColumnSeries s2 = new CustomWidthColumnSeries();
步骤3:调整柱子宽度
直接修改s2.ColumnWidth的数值即可,数值越大柱子越宽,你当前设置的是5.0,可根据展示需求灵活调整。
- 补充:如果配合调整
CategoryAxis的GapWidth属性效果更好,该属性默认值为1,数值越大柱子之间的间隙越宽,柱子实际显示宽度会对应缩小。
内容的提问来源于stack exchange,提问作者user979331
相关产品推荐
相关产品推荐

