簡體   English   中英

從C#恢復圖表的X和Y軸

[英]Reverting X and Y axes of a chart from C#

我正在根據詞典值創建折線圖。 鍵是長日期時間字符串,值是雙精度值。 所以excel看起來像這樣:

3.41上午9:22:39

上午9:22:40 3.91

上午9:22:41 7.81

上午9:22:42 2.44

1.56:9:22:43

創建圖表時,時間在Y軸上,而雙精度值在X軸上。 我希望將double用作Y軸並將X軸作為時間。

Excel.ChartObjects xlCharts = (Excel.ChartObjects)newWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject chart = (Excel.ChartObject)xlCharts.Add(10, 80, 300,250);             
Excel.Chart chartPage = chart.Chart;

Excel.Range chartRange = newWorkSheet.get_Range("B1", "A" + row);
chartPage.SetSourceData(chartRange, Type.Missing);
chartPage.ChartType = Excel.XlChartType.xlLine;
chartPage.HasLegend = false;

在SetSourceData中,我嘗試同時使用列和行(第二個參數),但是並不能解決問題。 任何想法我該如何解決?

假設時間為B1:B5 ,雙精度值為A1:A5 ,請嘗試以下代碼。

Excel.ChartObjects xlCharts = (Excel.ChartObjects)newWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject chart = (Excel.ChartObject)xlCharts.Add(10, 80, 300,250);             
Excel.Chart chartPage = chart.Chart;

Excel.Range chartRange = newWorkSheet.get_Range("A1:A5");
chartPage.SetSourceData(chartRange, Type.Missing);
chartPage.ChartType = Excel.XlChartType.xlLine;
chartPage.HasLegend = false;

Series series = (Series)(chart.Chart.SeriesCollection(1));
series.XValues = newWorkSheet.get_Range("B1:B5");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM