ایجاد نمودار اکسل با استفاده از Trendline,Error Bars و Data Labels در #C

سه شنبه 7 مهر 1394

در این مقاله ما می خواهیم چگونگی نحوه ی ساخت یک نمودار اکسل با استفاده از Trendline ها و Error Bars و Data Labels ها در # C آموزش دهیم.

ایجاد نمودار اکسل با استفاده از Trendline,Error Bars و Data Labels در #C

با استفاده از نمودارها داده های بزرگ و رابطه ی بین آن ها را به آسانی قادر هستیم بفهمیم.

نمودارهای که به طور پیش فرض در Excel وجود دارد ابزارهایی مثل trendline و یا error bars و data table

را به صورت عالی در بر نمی گیرد.

که اغلب بیشتر کاربران این سه ابزار را نادیده می گیرند.

بنابر این در این مقاله قصد داریم در مورد نحوه ی ساخت و ایجاد نمودار با Trendline ،error bars,data table ها در  #cصحبت کنیم.

در مورد 3 موضوع زیر در این مقاله صحبت می کنیم:

1-انواع trendline ها، ویزگی و استفاده از آن ها

2-انواع Error bar و تنظیمات آن ها در اکسل

3-درست کردن نمدارها با Trendline ها ،error bar,data table,data labels در اکسل با استفاده از #c

توضیحات جزئی در مورد Trendline ها :

Trendline ها شش نوع مختلف دارند:

1-Linear

2-Logarithmic

3-Polynomial

4-Power

5-Exponential

6-Moving average

1-A linear trendline:این معمولا برای نمایش نرخ ثابتی که افزایش یا کاهش پیدا می کند، زمانی که داده ها ساده است زمانی که داده ها ساده است یک روند را نشان می دهد.

2-A logarithmic trendline:این مورد مناسب برای نمایش تغییر نرخی که داده های به سرعت افزایش یا کاهش پیدا می کند وسپس یک سطح برای مقدار مثبت و مقدار منفی آن مشخص می کند.

3-A polynomial trendline:این یک منحنی که نوسانات یک داده را مشخص می کند.

4-A power trendline:خطوط منحنی را نشان می دهد که آیا افزایش داده ها با سرعت خاصی انجام گرفته است، این فقط می تواند در مورد داده های مثبت باشد (داده های منفی و صفر)نمی شود.

5-An exponential trendline:به صورت یک خطوط منحنی عمدتا استفاده می شود، و برای نمایش افزایش داده ها یا کاهش داده ها در نرخ بالاتر است، این مورد هم نمی توان برای صفر یا داده های منفی استفاده کرد.

6-A moving average trendline:شامل نقطه داده ها به طور متوسط که با خطوط نشان داده می شود،

این نقطه داده ها توسط دوره ای که ما انتخاب کرده ایم تنظیم شده است.برای نشان دادن روند واضح تر

و صاف کردن نوسانات خوب کار می کند.

گزینه های Trendline در Excel:

قسمت دوم:

جزییات Error Bars در نمودارهای Excel:

Error Bars ها یک نمایش گرافیکی از تنوع داده ها هستند، که خطا را در نمودار مورد استفاده نشان می دهند.

با استفاده از Error Bar ها در نمودار Excel ما به راحتی حاشیه خطا و انحراف استاندارد را می توانیم ببینیم.

5 گزینه در نمودار Excel وجود دارد که نوع error ها را تنظیم می کند:

1-fixed value

2-percentage

3-standard deviation

4-standard error

5-custom specified value

تفاوت بین Standard Deviation و Standard error در نمودار Excel در معادلات مختلف است.

دو تصویر از در زیر وجو دارد که یک Standard Error هست و دیگری Standard Deviation است.

علاوه بر آن ما می توانیم جهت نمودار را مشخص کنیم با علامت منفی یا مثبت .

قسمت سوم:

درست کردن نمودار Excel با استفاده از Error Bars، Data Tables،Data Labels در #C

برای درست کردن نمودار Excel باید dll مربوط به آن را داشته باشید.

می توانید در قسمت  Manage Nuget Packages بسته ی مربوط به نمودار Excel را دانلود کنید یا  Spire.XLS را دانلود کنید.

قدم اول:در اینجا با کد های زیر می خواهیم یک نمودار ستونی با استفاده از Trendline ها و Data Table با استفاده از dll های در Visual Studioدرست نماییم.

//Create an Excel and add a sheet    
 Workbook workbook = new Workbook();  
 workbook.CreateEmptySheets(1);  
 Worksheet sheet = workbook.Worksheets[0];  
  
 //Fill Excel cells with sample data  
 sheet.Name = "sample 1";  
 sheet.Range["A1"].Value = "Month";  
 sheet.Range["A2"].Value = "Jan.";  
 sheet.Range["A3"].Value = "Feb.";  
 sheet.Range["A4"].Value = "Mar.";  
 sheet.Range["A5"].Value = "Apr.";  
 sheet.Range["A6"].Value = "May.";  
 sheet.Range["A7"].Value = "Jun.";  
 sheet.Range["B1"].Value = "Porter";  
 sheet.Range["B2"].NumberValue = 15;  
 sheet.Range["B3"].NumberValue = 18;  
 sheet.Range["B4"].NumberValue = 24;  
 sheet.Range["B5"].NumberValue = 32;  
 sheet.Range["B6"].NumberValue = 37;  
 sheet.Range["B7"].NumberValue = 40;  
 sheet.Range["C1"].Value = "Harry";  
 sheet.Range["C2"].NumberValue = 38;  
 sheet.Range["C3"].NumberValue = 32;  
 sheet.Range["C4"].NumberValue = 17;  
 sheet.Range["C5"].NumberValue = 35;  
 sheet.Range["C6"].NumberValue = 45;  
 sheet.Range["C7"].NumberValue = 43;  
 sheet.Range["D1"].Value = "Chocolate";  
 sheet.Range["D2"].NumberValue = 30;  
 sheet.Range["D3"].NumberValue = 28;  
 sheet.Range["D4"].NumberValue = 35;  
 sheet.Range["D5"].NumberValue = 23;  
 sheet.Range["D6"].NumberValue = 33;  
 sheet.Range["D7"].NumberValue = 38;  
   
 //Create a columnclustered chart  
 Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);  
 chart.DataRange = sheet.Range["B1:D7"];  
 chart.SeriesDataFromRange = false;  
 chart.TopRow = 4;  
 chart.BottomRow = 27;  
 chart.LeftColumn = 2;  
 chart.RightColumn =11;  
 chart.ChartTitle = "Chart with trendline and datatable";  
 chart.ChartTitleArea.IsBold = true;  
 chart.ChartTitleArea.Size = 12;  
 Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];  
 cs1.CategoryLabels = sheet.Range["A2:A7"];  
  
 //Add trendline and datatable to the chart  
 chart.Series[0].TrendLines.Add(TrendLineType.Exponential);  
 chart.HasDataTable = true;  
  
 //Save the document as .xlsx file  
 workbook.SaveToFile("Sample1.xlsx", ExcelVersion.Version2013); 

قدم دوم:با استفاده از نمونه داده های مشابه ،یک نمودار دیگر با استفاده از Error Bar ها در Excel با استفاده از  #C می خواهیم درست کنیم.

//Create an Excel and add a sheet   
            Workbook workbook = new Workbook();
            workbook.CreateEmptySheets(1);
            Worksheet sheet = workbook.Worksheets[0];

            //Fill Excel cells with sample data 
            sheet.Name = "sample 1";
            sheet.Range["A1"].Value = "Month";
            sheet.Range["A2"].Value = "Jan.";
            sheet.Range["A3"].Value = "Feb.";
            sheet.Range["A4"].Value = "Mar.";
            sheet.Range["A5"].Value = "Apr.";
            sheet.Range["A6"].Value = "May.";
            sheet.Range["A7"].Value = "Jun.";
            sheet.Range["B1"].Value = "Porter";
            sheet.Range["B2"].NumberValue = 15;
            sheet.Range["B3"].NumberValue = 18;
            sheet.Range["B4"].NumberValue = 24;
            sheet.Range["B5"].NumberValue = 32;
            sheet.Range["B6"].NumberValue = 37;
            sheet.Range["B7"].NumberValue = 40;
            sheet.Range["C1"].Value = "Harry";
            sheet.Range["C2"].NumberValue = 38;
            sheet.Range["C3"].NumberValue = 32;
            sheet.Range["C4"].NumberValue = 17;
            sheet.Range["C5"].NumberValue = 35;
            sheet.Range["C6"].NumberValue = 45;
            sheet.Range["C7"].NumberValue = 43;
            sheet.Range["D1"].Value = "Chocolate";
            sheet.Range["D2"].NumberValue = 30;
            sheet.Range["D3"].NumberValue = 28;
            sheet.Range["D4"].NumberValue = 35;
            sheet.Range["D5"].NumberValue = 23;
            sheet.Range["D6"].NumberValue = 33;
            sheet.Range["D7"].NumberValue = 38;

 

            //Add trendline and datatable to the chart 
      

            //Save the document as .xlsx file 
          
            Chart chart1 = sheet.Charts.Add(ExcelChartType.Line);
            chart1.DataRange = sheet.Range["C1:D7"];
            chart1.SeriesDataFromRange = false;
            chart1.TopRow = 4;
            chart1.BottomRow = 27;
            chart1.LeftColumn = 2;
            chart1.RightColumn = 11;
            chart1.ChartTitle = "Chart with error bars";
            chart1.ChartTitleArea.IsBold = true;
            chart1.ChartTitleArea.Size = 12;
            chart1.Series[0].CategoryLabels = sheet.Range["A2:A7"];
            chart1.Series[0].ErrorBar(true, ErrorBarIncludeType.Plus, ErrorBarType.Fixed, 2);
            chart1.Series[1].ErrorBar(true, ErrorBarIncludeType.Both, ErrorBarType.Percentage, 5);
            workbook.SaveToFile("Sample3.xlsx", ExcelVersion.Version2013);

در تصویر زیر نمودار را ملاحظه کنید:

قدم سوم:در قسمت آخری، می خواهیم درست کردن نمودار را با استفاده از Data Label ها

که درصد (نمودار دایره ای)، نام سری ، نام دسته، به منطقه طرح از نمودار اضافه شده است

نمودار به صورت تصویر زیر است:

NameSpace های زیر را باید قرار دهیم:

using Spire.Xls;  
using System.Drawing;

کد به صورت زیر خواهد بود:

Workbook workbook = new Workbook();  
workbook.CreateEmptySheets(1);  
Worksheet sheet = workbook.Worksheets[0];  
sheet.Name = "sample 1";  
sheet.Range["A1"].Value = "Month";  
sheet.Range["A2"].Value = "Jan.";  
sheet.Range["A3"].Value = "Feb.";  
sheet.Range["A4"].Value = "Mar.";  
sheet.Range["A5"].Value = "Apr.";  
sheet.Range["A6"].Value = "May.";  
sheet.Range["A7"].Value = "Jun.";  
sheet.Range["B1"].Value = "Porter";  
sheet.Range["B2"].NumberValue = 8;  
sheet.Range["B3"].NumberValue = 15;  
sheet.Range["B4"].NumberValue = 3;  
sheet.Range["B5"].NumberValue = 9;  
sheet.Range["B6"].NumberValue = 13;  
sheet.Range["B7"].NumberValue = 17;  
Chart chart = sheet.Charts.Add(ExcelChartType.LineMarkers);  
chart.DataRange = sheet.Range["B1:B7"];  
chart.SeriesDataFromRange = false;  
chart.TopRow = 4;  
chart.BottomRow = 27;  
chart.LeftColumn = 2;  
chart.RightColumn =11;  
chart.ChartTitle = "Chart with data labels";  
chart.ChartTitleArea.IsBold = true;  
chart.ChartTitleArea.Size = 12;  
Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];       
cs1.CategoryLabels = sheet.Range["A2:A7"];  
  
// Set the displayed elements for data labels.   
cs1.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;  
cs1.DataPoints.DefaultDataPoint.DataLabels.HasLegendKey = false;  
cs1.DataPoints.DefaultDataPoint.DataLabels.HasPercentage = false;  
cs1.DataPoints.DefaultDataPoint.DataLabels.HasSeriesName = true;  
cs1.DataPoints.DefaultDataPoint.DataLabels.HasCategoryName = true;  
cs1.DataPoints.DefaultDataPoint.DataLabels.Delimiter = ". ";  
  
//Set the font and fill effect for data labels.  
cs1.DataPoints.DefaultDataPoint.DataLabels.Size = 9;  
cs1.DataPoints.DefaultDataPoint.DataLabels.Color = Color.Red;  
cs1.DataPoints.DefaultDataPoint.DataLabels.FontName = "Calibri";  
cs1.DataPoints.DefaultDataPoint.DataLabels.Position = DataLabelPositionType.Center;  
cs1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Fill.Texture = GradientTextureType.BlueTissuePaper;  
  
workbook.SaveToFile("Sample1.xlsx", ExcelVersion.Version2013); 

زمانی که برنامه را اجرا بگیرید در پوشه ی Bin/Debug برنامه ی خود فایل های با پسوند Xls (فایل Excel) را خواهید داشت.به صورت زیر:

آموزش سی شارپ

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 7k بازدید
  • 1 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید