急求大神解答:c#如何使用Spire.XLS绘制散点折线图?万分感谢!

qq_38162249 2017-12-07 03:35:17
Exsel表格如图,表格下面是我自己动态添加的图,可以明显的看出来,X轴不对。我想要的效果就是散点连线。不明白的就是在使用Spire.XLS绘制Exsel中,散点类型图表时,代码里怎么来表达点的坐标数据。这种散点图该如何定义坐标轴。请知道的大神写个简短的代码,谢谢了,分不多,意思一下,见谅!
...全文
778 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_38162249 2017-12-07
private void CreateExsel_Click(object sender, EventArgs e) { if (File.Exists("D:\\Personal\\Desktop\\TestLine.xlsx")) { File.Delete("D:\\Personal\\Desktop\\TestLine.xlsx"); } //创建1个工作簿,相当于1个Excel文件        //Excel的文档结构是 Workbook->Worksheet(1个book可以包含多个sheet) Workbook workbook = new Workbook(); //获取第一个sheet,进行操作,下标是从0开始 Worksheet sheet = workbook.Worksheets[0]; //string str = sheet.Cells[1].Text; //也可以自己添加1个命名的Worksheet到book中 // workbook.Worksheets.Add("测试sheet"); //横向合并A1到G1的单元格 //sheet.Range["A1:B1"].Merge(); //向A1单元格写入文字,第一列的列名 //sheet.Range["A1"].Value = "线条1上点坐标"; //sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center;//文本居中 //sheet.Range["A1"].Style.Font.IsBold = true;//字体加粗 //sheet.Range["A2"].Value = "X"; //sheet.Range["A3"].NumberValue = 20; //sheet.Range["A4"].NumberValue = 30; //sheet.Range["A5"].NumberValue = 50; //sheet.Range["A6"].NumberValue = 80; sheet.Range["A1"].Value = "点"; sheet.Range["A2"].Value = "点1"; sheet.Range["A3"].Value = "点2"; sheet.Range["A4"].Value = "点3"; //向B1单元格写入文字,第2列的列名 sheet.Range["B1"].Value = "X"; sheet.Range["B2"].NumberValue = 20; sheet.Range["B3"].NumberValue = 50; sheet.Range["B4"].NumberValue = 80; //sheet.Range["B2"].Value = "Y"; //sheet.Range["B3"].NumberValue = 43; //sheet.Range["B4"].NumberValue = 57; //sheet.Range["B5"].NumberValue = 89; //sheet.Range["B6"].NumberValue = 15; //向C1单元格写入文字,第3列的列名 sheet.Range["C1"].Value = "Y"; sheet.Range["C2"].NumberValue = 20; sheet.Range["C3"].NumberValue = 50; sheet.Range["C4"].NumberValue = 80; //sheet.Range["C2"].NumberValue = 30; //sheet.Range["C3"].NumberValue = 50; //sheet.Range["C4"].NumberValue = 20; //sheet.Range["C5"].NumberValue = 90; //sheet.Range["C6"].NumberValue = 55; ////向D1单元格写入文字,第4列的列名 //sheet.Range["D1"].Value = "X2"; //sheet.Range["D2"].NumberValue = 55; ////向E1单元格写入文字,第5列的列名 //sheet.Range["E1"].Value = "Y2"; //sheet.Range["E2"].NumberValue = 55; //创建散点曲线图 Chart chart = sheet.Charts.Add(); //chart.ChartType = ExcelChartType.ScatterSmoothedLineMarkers; chart.ChartType = ExcelChartType.Line; //设置图表的数据范围 chart.DataRange = sheet.Range["A1:C4"]; //设置图表的保存位置 chart.LeftColumn = 1; chart.TopRow = 6; chart.RightColumn = 7; chart.BottomRow = 22; //chart.Legend.Position = LegendPositionType.Right; //图表标题 chart.ChartTitle = "折线图例子"; //设置字体加粗和大小 chart.ChartTitleArea.IsBold = true; chart.ChartTitleArea.Size = 12; ////设置横坐标的标题 //chart.PrimaryValueAxis.Title = "X轴"; ////chart.PrimaryValueAxis.Font.IsBold = true; ////chart.PrimaryValueAxis.TitleArea.IsBold = true; //chart.PrimaryValueAxis.MinValue = 0; //chart.PrimaryValueAxis.MaxValue = 100; //chart.PrimaryValueAxis.HasMajorGridLines = false; ////设置纵坐标 //chart.PrimaryValueAxis.Title = "Y轴"; //chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90; //chart.PrimaryValueAxis.MinValue = 0;//坐标起始最小值 //chart.PrimaryValueAxis.MaxValue = 100;//坐标起始最小值 //chart.PrimaryValueAxis.TitleArea.IsBold = true; //chart.PrimaryValueAxis.HasMajorGridLines = false; foreach (Spire.Xls.Charts.ChartSerie cs in chart.Series) { cs.Format.Options.IsVaryColor = true; cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true; chart.PlotArea.Fill.Visible = false; } //将Excel文件保存到指定文件,还可以指定Excel版本 workbook.SaveToFile("D:\\Personal\\Desktop\\TestLine.xlsx", ExcelVersion.Version2007); MessageBox.Show("创建成功!"); System.Diagnostics.Process.Start("D:\\Personal\\Desktop\\TestLine.xlsx"); }
  • 打赏
  • 举报
回复
相关推荐
发帖
图表区
加入

4810

社区成员

.NET技术 图表区
社区管理员
  • 图表区社区
申请成为版主
帖子事件
创建了帖子
2017-12-07 03:35
社区公告
暂无公告