【问题标题】:Charts multi type and secondary Y axis图表多类型和辅助 Y 轴
【发布时间】:2018-06-06 00:59:13
【问题描述】:

我正在创建一个包含 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 轴 - 任何帮助将不胜感激!

谢谢。

【问题讨论】:

    标签: c# charts


    【解决方案1】:

    要添加辅助轴,需要完成以下操作:

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

    创建一个新的图表类型(charttype3)很重要,即使 i 与第一个图表相同,以便您可以使用 chartType3.UseSecondaryAxis = true

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      相关资源
      最近更新 更多