.net yardımı ile güzel grafikler oluşturmak için DataVisualization.Charting namespace'ini kullanabilirsiniz. DataVisualization.Charting ile nasıl Pie Chart yapacağınızı gösteren küçük bir örnek paylaşıyorum.
/// <summary>
/// Chart oluşturucu
/// </summary>
/// <param name="xValues">Pie Chart için veri alanları</param>
/// <param name="yValues">Verilere karşılık gelen değerler</param>
/// <param name="fileName">Grafiğin kaydedileceği dosyanın adı</param>
private void SaveImage(List<string> xValues, List<int> yValues, string fileName)
{
//Öncelikle Chart'imizi oluşturuyor ve başlangıç değerlerini atıyoruz
Chart c = new Chart();
c.EnableTheming = true;
c.AntiAliasing = AntiAliasingStyles.All;
c.TextAntiAliasingQuality = TextAntiAliasingQuality.High;
c.Width = 780; //SET HEIGHT
c.Height = 590; //SET WIDTH

//Chart'ımızın yukarısında görülecek başlığı ve stillerini belirliyoruz
Title nTitle = new Title("Grafik Başlık Alana");
nTitle.Font = new Font("Arial", 18f, FontStyle.Bold);
nTitle.Alignment = ContentAlignment.MiddleCenter;
nTitle.ForeColor = Color.White;
nTitle.BackColor = Color.FromArgb(255, 59, 89, 152);
nTitle.BackGradientStyle = GradientStyle.None;
nTitle.BorderColor = Color.FromArgb(255, 19, 55, 131);
nTitle.Position.Height = 13;
nTitle.Position.Width = 100;
c.Titles.Add(nTitle); //Başlığı ekliyoruz

c.ChartAreas.Add(new ChartArea("Default") //grafik alanımızın değerlerini set ediyoruz
{
BackColor = Color.FromArgb(0, 59, 89, 152),
BackGradientStyle = GradientStyle.TopBottom,
BackSecondaryColor = Color.White,
BorderColor = Color.FromArgb(0, 19, 55, 131),
BorderDashStyle = ChartDashStyle.Solid,
ShadowColor = Color.Transparent,
Area3DStyle = new ChartArea3DStyle()
{
LightStyle = LightStyle.Simplistic,
Enable3D = true,
Inclination = 50,
IsClustered = true,
IsRightAngleAxes = true,
Perspective = 50,
Rotation = 50,
WallWidth = 10
}
,
Position = new ElementPosition(0, 10, 70, 100) // Yüzde cinsinden konumlandırma bilgileri X,Y,Width ve Height
});

Series s = new Series();
s.Font = new Font("Lucida Sans Unicode", 10f);
s.Color = Color.FromArgb(0, 215, 47, 6);
s.ChartType = SeriesChartType.Pie;
s.IsValueShownAsLabel = true;

s.Points.DataBindXY(xValues, yValues); // x Değerleri Ankara İstanbul, Y Değerleri olarak 20,30 girebilirsiniz

Legend nLegend = new Legend("Legend"); // Pie Chartınızın Sağ tarafında verilerinize ait bilgileri liste ile gösterebilirsiniz
nLegend.Title = "Şehirler";
nLegend.TitleFont = new Font("Lucida Sans Unicode", 12f);
nLegend.Font = new Font("Lucida Sans Unicode", 12f);
nLegend.Enabled = true;
nLegend.BackColor = Color.FromArgb(0, 59, 89, 152);
nLegend.BackGradientStyle = GradientStyle.TopBottom;
nLegend.BackSecondaryColor = Color.White;
nLegend.BorderColor = Color.FromArgb(0, 19, 55, 131);
nLegend.BorderDashStyle = ChartDashStyle.Solid;
nLegend.ShadowColor = Color.Transparent;
nLegend.ForeColor = Color.Black;
nLegend.LegendStyle = LegendStyle.Column;

nLegend.Position = new ElementPosition(70, 20, 30, 50); //Position alanı yukarıda açıklandı


c.Legends.Add(nLegend);
c.Series.Add(s);


string filePath = Server.MapPath("/content/images/" + fileName + ".png");
c.SaveImage(filePath); //grafiğimizi path bilgisiyle kaydediyoruz

}

Yorumlar

Bu kod parçacığına henüz yorum yapılmamış.

Yorum Yaz

Yorum yazabilmek için üye olunuz veya giriş yapınız