图表多类型和辅助Y轴

本文关键字:多类型 | 更新日期: 2023-09-27 18:22:49

我正在创建一个图表,其中有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轴-如果有任何帮助,我们将不胜感激!

谢谢。

图表多类型和辅助Y轴

要添加辅助轴,需要执行以下操作:

  // 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