7

使用 ASP.Net 中内置的图表控件,我试图手动定位标题和图例,以便它们在 ChartArea 上方水平直接相邻。我已经能够使用以下代码手动定位标题:

chart.Titles["Title1"].Position.Auto = false;
chart.Titles["Title1"].Position.X = 10;
chart.Titles["Title1"].Position.Y = 5;

这没什么,真的。但是,我正在尝试使用以下代码将 Legend 定位在它的右侧,并且 Legend 甚至没有出现:

chart.Legends["Legend1"].Position.Auto = false;
chart.Legends["Legend1"].Position.X = 30;
chart.Legends["Legend1"].Position.Y = 5;

任何想法我做错了什么?这似乎应该相对简单。我什至尝试了各种其他坐标,但我无法让传奇出现在任何地方。如果我使用下面的内置定位,它确实会出现,但这种定位不适合我的目的:

chart.Legends["Legend1"].Docking = Docking.Top;
chart.Legends["Legend1"].DockedToChartArea = "ChartArea1";
chart.Legends["Legend1"].IsDockedInsideChartArea = false;
chart.Legends["Legend1"].Alignment = StringAlignment.Far;
4

2 回答 2

12

尝试更新一个ElementPosition对象,如下所示:

chart.Legends["Legend1"].Position.Auto = false;
chart.Legends["Legend1"].Position = new ElementPosition(30, 5, 100, 20);

注意:构造函数ElementPosition接受 0 或 4 个参数(x、y、宽度、高度)。

于 2013-10-09T18:24:50.713 回答
6

我偶然发现了这个问题,以寻找如何在图表底部移动图例。

答案是使用Docking属性

Chart1.Legends["Legend1"].Docking = Docking.Bottom;

将来可能对某人有所帮助,因为这是谷歌搜索中的第一个链接。

于 2017-08-02T09:01:04.313 回答