我正在创建一个包含3个系列的图表,其中2个是列,我需要一条贯穿其中的行显示平均值。
我找到了趋势线,但目前我的图表显示了一个系列列和趋势线,当时我只想查看趋势线。这是代码:
// Add a chart for the country. i.e. show the
var chart = worksheet.Drawings.AddChart(countryName + "Click through report", eChartType.ColumnClustered);
// Set the size of the chart
chart.SetSize(1150, 540);
//Set the series value for each column - impressions
int chartrange = cumCtrj + 27;
var series1 = chart.Series.Add("=" + countryName + "!$B$29:$B$" + chartrange, "=" + countryName + "!$A$29:$A$" + chartrange);
series1.Header = "Dealer Lists Displayed";
// column - Clicks
var series2 = chart.Series.Add("=" + countryName + "!$C$29:$C$" + chartrange, "=" + countryName + "!$A$29:$A$" + chartrange);
series2.Header = "Clicks To Dealer";
var series3 = chart.Series.Add("=" + countryName + "!$D$29:$D$" + chartrange, "=" + countryName + "!$A$29:$A$" + chartrange);
series3.Header = "Click Through Rate";
series3.TrendLines.Add(eTrendLine.Linear);
如何在没有列的情况下获得趋势线?
编辑:我实际上并不确定这是我需要的趋势线 - 因为值实际上在表格中( - CTR率是点击次数/展示次数* 100并且是百分比值) - 但我需要这个显示为穿过其他两列的线。
以下是我正在使用的表格示例。
Row Impressions Clicks CTR
40 391 4 1.0210593
41 986 35 3.5491558
42 104 37 3.534818
43 236 38 16.064257
44 579 10 1.72592337
编辑2: 我找到了添加一条线的方法(所以第二个图表类型到我的图表中请看下面的代码:
// TODO click through rate as a line.
var chartType2 = chart.PlotArea.ChartTypes.Add(eChartType.Line);
var series3 = chartType2.Series.Add("=" + countryName + "!$D$29:$D$" + chartrange, "=" + countryName + "!$A$29:$A$" + chartrange);
series3.Header = "Click Through Rate";
我需要做的最后一件事是添加辅助Y轴 - 任何帮助都会受到赞赏!
感谢。
答案 0 :(得分:0)
要添加辅助轴,需要执行以下操作:
// column - Clicks
var chartType3 = chart.PlotArea.ChartTypes.Add(eChartType.ColumnClustered);
var series2 = chartType3.Series.Add("=" + countryName + "!$C$29:$C$" + chartrange, "=" + countryName + "!$A$29:$A$" + chartrange);
series2.Header = "Clicks To Dealer";
chartType3.UseSecondaryAxis = true;
即使i与第一个图表相同,制作新的图表类型(charttype3)也很重要,这样你就可以使用chartType3.UseSecondaryAxis = true