有没有办法使用图表助手在图表上显示图例?
默认情况下它没有显示,没有可以说显示的属性,如果我在xml中指定了图例:
<Legends>
<Legend _Template_=""All"" BackColor=""Black"" Docking=""Bottom"" Font=""Trebuchet MS, 8.25pt, style=Bold"" LegendStyle=""Row"" >
</Legend>
</Legends>
它也无效。
图表助手public Chart AddLegend(string title = null, string name = null)
中有方法;但是当我打电话给它时,我看不到图表上的图例,图表也没有显示出来。
Chart chart = new System.Web.Helpers.Chart(width: 120, height: 300, theme: chartStyle: ChartTheme.Green.ToString())
.AddLegend("title", "name") // not existed legends, that's why error.
.AddSeries(
chartType: "Column"
legend: "Rainfall"
xValue: new[] { "jan", "feb", "mar", "apr", "may" },
yValues: new[] { "20", "20", "40", "10", "10" });
。获取错误:Series 'Series1' uses non-existing legend name 'Rainfall'. Set Legend property value to Default
如果我将legend: "Rainfall"
更改为legend: "Default"
同样的错误。
我怎么能让这个传说名称存在?例如,如果直接使用System.Web.UI.DataVisualization.Charting
,它将看起来像这样:
chart.Legends.Add("Legend1");
// show legend based on check box value
chart.Legends["Legend1"].Enabled = true;
但如何用助手实现同样的目标?
答案 0 :(得分:11)
您需要为每个系列命名,然后调用没有参数的AddLegend()来添加图例。
var chart = new Chart(width: 600, height: 250)
.AddSeries(
chartType: "column",
xValue: new [] { 2010, 2011, 2012 },
yValues: new[] { 100, 125, 150 },
name: "Forecasts")
.AddSeries(
chartType: "column",
xValue: new[] { 2010, 2011, 2012 },
yValues: new[] { 200, 225, 250 },
name: "Actuals")
.AddLegend();