gpt4 book ai didi

c# - 如何更改图表图例的属性

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:44 24 4
gpt4 key购买 nike

我在 VS2017 中调整 C# 图表图例的布局时遇到困难。当我转到 Properties 中的 Legends 时,我可以更改几个属性,但我找不到如何更改图例边框与其项目之间的边距(因此, 填充 实际上)。另一个我无法更改的属性:图例项之间的间距。我发现了一些关于“样式文件”的讨论,但我想避免这种情况。我还搜索了可以给我更多选择的不同引用资料,但我没有找到任何东西。

那么,除了显示在 Properties 中的那些之外,是否有办法更改图例的属性?我希望找到类似:“myLegend.padding = 10pt”的内容。

最佳答案

您可以使用 CustomizeLegend图表事件以设置 Legend、其 LegendItems 及其 LegendCells 的样式。

Margin您正在寻找的是 LegendCell 的一个属性

A Margins object that represents the top, bottom, left, and right values of the legend cell margins. The default values for top, bottom, left and right are "0,0,15,15".

Margins are measured as a percentage of the font size for the legend cell

这意味着对于一个普通的 LegendItem,它由两个 Cells 组成,其中一个用于 ma​​rker 系列一个用于文本,您需要设置两个边距。

这是一个例子;它创建一个 30% 的上边距,没有下边距,同样对于第一个,左标记单元格 400%(左)边距,第二个(右)文本单元格 200% 右边距。单元格之间的填充被添加到文本单元格并且是 100%..:

private void chart1_CustomizeLegend(object sender, CustomizeLegendEventArgs e)
{
foreach (LegendItem lit in e.LegendItems)
{
var cells = lit.Cells;
cells[0].Margins = new Margins(30, 0, 400, 100);
cells[1].Margins = new Margins(30, 0, 0, 200);
}
}

让我们看看实际效果;我为单元格添加了两种颜色,以便您可以更好地看到各自的区域:

enter image description here

这是更新后的动态代码:

cells[0].Margins = new Margins(tr_top.Value, tr_bot.Value, tr_ll.Value, tr_mm.Value);
cells[1].Margins = new Margins(tr_top.Value, tr_bot.Value, tr_mm.Value, tr_rr.Value);

关于c# - 如何更改图表图例的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45038646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com