نمودار در سی شارپ

در این مقاله میخواهیم در مورد رسم انواع نمودار در سی  شارپ صحبت کنیم شاید برای شما هم پیش آمده باشه که بخواهید برای پروژه خودتون بخواهید یک نمودار از داده های داخل پروژه داشته باشید مخصوصا زمانی که میخواهید گزارش تهیه کنیدنرم افزار studio visual خود را باز کنید

یک پروژه ی جدید به نام سی شارپ ایجاد کنید ابتدا باید dll های مربوط به پروژه را اضافه نمایید به صورت
زیر:

 

[html] using System;
using Spire.Presentation;
using System.Drawing;
using Spire.Presentation.Charts;
using System.Data;
using Spire.Presentation.Drawing;[/html]
 
بعد از اون باید ستون های مربوط به نمودار های خودتون و ایجاد کنید و بهش داده های مورد نظر را بدهید
تا برای شما در نمودار نمایش دهد کد آن به صورت زیر است:
 

[html] //create a PowerPoint document
Presentation presentation = new Presentation();
//insert a column chart
RectangleF rect = new RectangleF(40, 100, 550, 320);
IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, rect);
//set title
chart.ChartTitle.TextProperties.Text = "Male/Female Ratio Per Dept.";
chart.ChartTitle.TextProperties.IsCentered = true;
chart.ChartTitle.Height = 30;
chart.HasTitle = true;
//define a multi-dimensional array of strings
string[,] data = new string[,]
{
{"Department","Male","Female" },
{"Development","25","15"},
{"Testing","5","10" },
{"Sales","7","3" },
{"Support","20","5" }
};
//write data to chart data
for (int i = 0; i < data.GetLength(0); i++)
{
for (int j = 0; j < data.GetLength(1); j++)
{
int number;
bool result = Int32.TryParse(data[i, j], out number);
if (result)
{
chart.ChartData[i, j].Value = number;
}
else
{
chart.ChartData[i, j].Value = data[i, j];
}
} }
//set series labels
chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];
//set category labels
chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"];
//set the series values
chart.Series[0].Values = chart.ChartData["B2", "B5"];
chart.Series[1].Values = chart.ChartData["C2", "C5"];
//apply built-in chart style
chart.ChartStyle = ChartStyle.Style11;
//set overlap
chart.OverLap = -50;
//set gap width
chart.GapWidth = 200;
//save to file
presentation.SaveToFile("ColumnChart.pptx",FileFormat.Pptx2010);
[html/] 
<h3>نمودار به صورت زیر خواهد بود:</h3>
<img class="alignnone size-medium wp-image-345" src="https://www.devhelp.ir/wp-content/uploads/2019/07/IMG_۲۰۱۹۰۷۰۸_۱۴۳۲۵۲-۳۰۰x147.jpg" alt="سی شارپ" width="300" height="147" data-mce-src="https://www.devhelp.ir/wp-content/uploads/2019/07/IMG_۲۰۱۹۰۷۰۸_۱۴۳۲۵۲-۳۰۰x147.jpg">
حاال نمودار باال بهش میله ای می گویند می خواهیم نمودار pie را تریم کنیم نمودار pie دایره ای شکل است و
با استفاده از درصد مشخص می کند که هر داده مقدارش چه قدر هست
[html] //create a PowerPoint document
Presentation ppt = new Presentation();
//insert a pie chart
RectangleF rect1 = new RectangleF(40, 100, 550, 320);
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.Pie, rect1, false);
//set title
chart.ChartTitle.TextProperties.Text = "Sales by Quarter";
chart.ChartTitle.TextProperties.IsCentered = true;
chart.ChartTitle.Height = 30;
chart.HasTitle = true;
//define sample data and assign the data to chart data
string[] quarters = new string[] { "1st Qtr", "2nd Qtr", "3rd Qtr", "4th Qtr" };
int[] sales = new int[] { 210, 320, 180, 500 };
chart.ChartData[0, 0].Text = "Quarters";
chart.ChartData[0, 1].Text = "Sales";
for (int i = 0; i &lt; quarters.Length; ++i)
{
chart.ChartData[i + 1, 0].Value = quarters[i];
chart.ChartData[i + 1, 1].Value = sales[i];
//set series label
chart.Series.SeriesLabel = chart.ChartData["B1", "B1"];
//set category labels
chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"];
//set series values
chart.Series[0].Values = chart.ChartData["B2", "B5"];
//ddd data points to series and fill each data point with different color
for (int i = 0; i &lt; chart.Series[0].Values.Count; i++)
{
ChartDataPoint cdp = new ChartDataPoint(chart.Series[0]);
cdp.Index = i;
chart.Series[0].DataPoints.Add(cdp);
}
chart.Series[0].DataPoints[0].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[0].Fill.SolidColor.Color = Color.LightBlue;
chart.Series[0].DataPoints[1].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[1].Fill.SolidColor.Color = Color.DarkGray;
chart.Series[0].DataPoints[2].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[2].Fill.SolidColor.Color = Color.MediumPurple;
chart.Series[0].DataPoints[3].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[3].Fill.SolidColor.Color = Color.DarkOrange;
//set labels to display label value and percentage value.
chart.Series[0].DataLabels.LabelValueVisible = true;
chart.Series[0].DataLabels.PercentValueVisible = true;
//save to file
ppt.SaveToFile("PieChart.pptx", FileFormat.Pptx2010);[/html]
 

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

 
سی شارپ
 
مورد آخر نمودار ترکیبی است
نمودار ترکیبی از ترکیب دو تا نمودار تشکیل می شود به این صورت که شما نمودار مربوط به داده ها را رسم
می کنید و بعد نمودار دوم میزان افزایش یا کاهش داده ها را در یک بازه ی زمانی مشخص می کند

[html] //create a PowerPoint document
Presentation presentation = new Presentation();</p>
<p dir="ltr">//insert a column chart</p>
<p dir="ltr">RectangleF rect = new RectangleF(40, 100, 550, 320);
IChart chart =</p>
<p dir="ltr">presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, rect);</p>
<p dir="ltr">//set chart title</p>
<p dir="ltr">chart.ChartTitle.TextProperties.Text = "Monthly Sales</p>
<p dir="ltr">Report";</p>
<p dir="ltr">chart.ChartTitle.TextProperties.IsCentered = true;</p>
<p dir="ltr">chart.ChartTitle.Height = 30;</p>
<p dir="ltr">chart.HasTitle = true;</p>
<p dir="ltr">//create a datatable</p>
<p dir="ltr">DataTable dataTable = new DataTable();</p>
<p dir="ltr">dataTable.Columns.Add(new DataColumn("Month",</p>
<p dir="ltr">Type.GetType("System.String")));</p>
<p dir="ltr">dataTable.Columns.Add(new DataColumn("Sales",</p>
<p dir="ltr">Type.GetType("System.Int32")));</p>
<p dir="ltr">dataTable.Columns.Add(new DataColumn("Growth rate",</p>
<p dir="ltr">Type.GetType("System.Decimal")));</p>
<p dir="ltr">dataTable.Rows.Add("January", 200, 0.6);</p>
<p dir="ltr">dataTable.Rows.Add("February", 250, 0.8);</p>
<p dir="ltr">dataTable.Rows.Add("March", 300, 0.6);
dataTable.Rows.Add("April", 150, 0.2);
dataTable.Rows.Add("May", 200, 0.5);
dataTable.Rows.Add("June", 400, 0.9);</p>
<p dir="ltr">//import data from datatable to chart data
for (int c = 0; c < dataTable.Columns.Count; c++)
{
chart.ChartData[0, c].Text = dataTable.Columns[c].Caption;
}
for (int r = 0; r < dataTable.Rows.Count; r++)
{
object[] datas = dataTable.Rows[r].ItemArray;
for (int c = 0; c < datas.Length; c++)
{
chart.ChartData[r + 1, c].Value = datas[c];</p>
<p dir="ltr">}
}</p>
<p dir="ltr">//set series labels
chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];</p>
<p dir="ltr">//set categories labels
chart.Categories.CategoryLabels = chart.ChartData["A2", "A7"];</p>
<p dir="ltr">//assign data to series values
chart.Series[0].Values = chart.ChartData["B2", "B7"];
chart.Series[1].Values = chart.ChartData["C2", "C7"];</p>
<p dir="ltr">//change the chart type of series 2 to line chart with markers
chart.Series[1].Type = ChartType.LineMarkers;</p>
<p dir="ltr">//plot data of series 2 on the secondary axis
chart.Series[1].UseSecondAxis = true;</p>
<p dir="ltr">//set the number format as percentage
chart.SecondaryValueAxis.NumberFormat = "0%";</p>
<p dir="ltr">//hide grid lines of secondary axis
chart.SecondaryValueAxis.MajorGridTextLines.FillType = FillFormatType.None;</p>
<p dir="ltr">//set overlap
chart.OverLap = -50;</p>
<p dir="ltr">//set gap width</p>
<p dir="ltr">chart.GapWidth = 200;</p>
<p dir="ltr">//save to file
presentation.SaveToFile("CombinationChart.pptx", FileFormat.Pptx2010)[/html]

سی شارپ

نموار در سی شارپ

مشکلی داشتید در یخش دیدگاه بنویسید

مطلب مفیدی برای شما بود ؟ پس به اشتراک بگذارید برای دوستانتان

codesrcReza

109 مطلب منتشر شده

درباره این مطلب نظر دهید !