如何在二维图中标记Excel X和Y轴

我被困在一个看起来很简单的问题上,标记X和Y轴!

我正在使用C#在VS2010中创buildExcel图表。 这是一个2D XY散点图。 但是我无法控制X轴的标签! 我只能控制Y轴的标签! 我花了太多的时间试图找出这个问题,并放弃了。 所以我在找人帮忙! 这是我的代码:

private void showExcelXY_v2() { xla = new Microsoft.Office.Interop.Excel.Application(); xla.Visible = true; Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet); Worksheet ws = (Worksheet)xla.ActiveSheet; // Now create the chart. ChartObjects chartObjs = (ChartObjects)ws.ChartObjects(Type.Missing); ChartObject chartObj = chartObjs.Add(100, 20, 500, 300); Microsoft.Office.Interop.Excel.Chart xlChart = chartObj.Chart; //add some data from your datasource like a dataset or like below. ws.Cells[1, 1] = "Value of n"; ws.Cells[1, 2] = "Term"; ws.Cells[2, 1] = "0"; ws.Cells[2, 2] = "0"; ws.Cells[3, 1] = "9181"; ws.Cells[3, 2] = "0"; ws.Cells[4, 1] = "9181"; ws.Cells[4, 2] = "-377094"; ws.Cells[5, 1] = "0"; ws.Cells[5, 2] = "-377094"; ws.Cells[6, 1] = "-9554"; ws.Cells[6, 2] = "-329688"; ws.Cells[7, 1] = "-9554"; ws.Cells[7, 2] = "0"; ws.Cells[8, 1] = "0"; ws.Cells[8, 2] = "0"; //set the source data and the chart type. Range chartRange = ws.get_Range("A2", "B" + "8"); xlChart.SetSourceData(chartRange, Type.Missing); xlChart.ChartType = XlChartType.xlXYScatterLines; // Customize axes: Microsoft.Office.Interop.Excel.Axis xAxis = (Microsoft.Office.Interop.Excel.Axis)xlChart.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary); xAxis.HasTitle = true; xAxis.AxisTitle.Text = "Above Pressure (psi) Below"; Microsoft.Office.Interop.Excel.Axis yAxis = (Microsoft.Office.Interop.Excel.Axis)xlChart.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary); yAxis.MajorTickMark = XlTickMark.xlTickMarkCross; yAxis.HasTitle = true; yAxis.AxisTitle.Text = "Compression (lbf)"; // Add title: xlChart.HasTitle = true; xlChart.ChartTitle.Text = "XPak Performance Envelope" + '\n' + "(Open Top & Bottom)"; // Remove legend: xlChart.HasLegend = false; } 

这段代码的结果是,当您逐步浏览它时,显示X轴标签转到Y轴,然后被Y轴标签覆盖。 没有什么去的X轴! 任何想法将不胜感激。

你有两个轴定义相同的方式:

 xAxis = (Microsoft.Office.Interop.Excel.Axis)xlChart.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary) yAxis = (Microsoft.Office.Interop.Excel.Axis)xlChart.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary) 

x轴是“类别”轴,y轴是“值”轴。 尝试这个x轴(修订):

 xAxis = (Microsoft.Office.Interop.Excel.Axis)xlChart.Axes(XlAxisType.xlCategory, XlAxisGroup.xlPrimary)