首页 > 解决方案 > 为什么我的系列名称没有显示在使用 C# 的 Excel 中的折线图默认图例中

问题描述

我正在尝试做一些应该直截了当的事情。我希望 Excel 折线图中的图例具有自定义名称。我正在用 C#(互操作)创建图表。我的票价是:

Excel.Range xvalues = myWorkSheet.Range["R3", "R5"];
Excel.Range values1 = myWorkSheet.Range["S3", "S5"];
Excel.Range values2 = myWorkSheet.Range["T3", "T5"];
Excel.Range values3 = myWorkSheet.Range["U3", "U5"];
Excel.Range values4 = myWorkSheet.Range["V3", "V5"];

Excel.SeriesCollection sc = myChart.SeriesCollection();
myChart.ChartType = Excel.XlChartType.xlLine;

Excel.Series series1 = sc.NewSeries();
Excel.Series series2 = sc.NewSeries();
Excel.Series series3 = sc.NewSeries();
Excel.Series series4 = sc.NewSeries();

series1.XValues = xValues;
series1.Values = values1;
series1.Name = "mySeries1";

series2.XValues = xValues;
series2.Values = values2;
series2.Name = "mySeries2";    

series3.XValues = xValues;
series3.Values = values3;
series3.Name = "mySeries3";

series4.XValues = xValues;
series4.Values = values4;
series4.Name = "mySeries4";

图表显示正常,图例出现在我想要的位置,但系列名称没有出现在图例中的线条颜色。有任何想法吗。

标签: c#interop

解决方案


我没有在代码中添加的是我将图例放置在图表区域内的事实。我已经设置了 myChart.Legend.Height、myChart.Legend.Left 和 myChart.Legend.Top 属性。我认为我不需要设置 Legend.Width 属性,因为我认为图例会自动将其设置为适当的宽度。我错了。一旦我设置了 myChart.Legend.Width 属性,系列名称就会出现。


推荐阅读