如何手动定位ASP.Net Chart Legend?

jok*_*efe 4 c# asp.net charts legend

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

chart.Titles["Title1"].Position.Auto = false;
chart.Titles["Title1"].Position.X = 10;
chart.Titles["Title1"].Position.Y = 5;
Run Code Online (Sandbox Code Playgroud)

真的没有什么可以做的.但是,我试图使用以下代码将Legend置于其右侧,并且Legend甚至没有出现:

chart.Legends["Legend1"].Position.Auto = false;
chart.Legends["Legend1"].Position.X = 30;
chart.Legends["Legend1"].Position.Y = 5;
Run Code Online (Sandbox Code Playgroud)

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

chart.Legends["Legend1"].Docking = Docking.Top;
chart.Legends["Legend1"].DockedToChartArea = "ChartArea1";
chart.Legends["Legend1"].IsDockedInsideChartArea = false;
chart.Legends["Legend1"].Alignment = StringAlignment.Far;
Run Code Online (Sandbox Code Playgroud)

Kar*_*son 11

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

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

注意:构造函数ElementPosition采用0或4个参数(x,y,width,height).


小智 6

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

答案是使用Docking财产

Chart1.Legends["Legend1"].Docking = Docking.Bottom;
Run Code Online (Sandbox Code Playgroud)

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