Gallery
JS Quadrant
<%@ Page Language="C#" Description="dotnetCHARTING Component"%>
<%@ Register TagPrefix="dotnet" Namespace="dotnetCHARTING" Assembly="dotnetCHARTING"%>
<%@ Import Namespace="System.Drawing" %>
<script runat="server">
void Page_Load(Object sender,EventArgs e)
{
// Demonstrates how draw a quadrants on the chart area.
Chart.Type = ChartType.Combo;
// Set the default series type.
Chart.DefaultSeries.Type = SeriesType.Marker;
Chart.DefaultSeries.DefaultElement.Marker.Size = 12;
Chart.DefaultSeries.DefaultElement.Marker.Type = ElementMarkerType.Circle;
Chart.DefaultSeries.DefaultElement.ToolTip = "";
Chart.Palette = new Color[] { Color.FromArgb(20, Color.Red) ,Color.FromArgb(20,Color.Yellow),Color.FromArgb(20, Color.SkyBlue), Color.FromArgb(20,Color.Green) };
Chart.TitleBox.Label.Text ="Magic Quadrant for Analytics and Business Intelligence Platforms 2019";
Chart.TitleBox.Label.Font = new Font("Tahoma",12, FontStyle.Regular);
Chart.TitleBox.Position = TitleBoxPosition.Center;
// Set he chart size.
Chart.Width = 580;
Chart.Height= 580;
Chart.Debug = false;
Chart.LegendBox.Visible = false;
Chart.YAxis.ClearValues = true;
AxisMarker am = new AxisMarker();
am.Line.Color = Color.Gray;
am.Line.Width = 2;
am.Value = 50;
Chart.YAxis.Markers.Add(am);
Chart.XAxis.Minimum = 0;
Chart.XAxis.Maximum = 100;
Chart.XAxis.ClearValues = true;
am = new AxisMarker();
am.Line.Color = Color.Gray;
am.Line.Width = 2;
am.Value = 50;
Chart.XAxis.Markers.Add(am);
// Set the x axis label
Chart.XAxis.Label.Text="Completeness of Vision";
Chart.XAxis.ScaleRange = new ScaleRange(0, 100);
// Set the y axis label
Chart.YAxis.Label.Text="Ability to Execute";
Chart.YAxis.ScaleRange = new ScaleRange(0, 100);
// Set the directory where the related JSC files will be created and stored.
Chart.TempDirectory="temp";
// Enable JSCharting
Chart.JS.Enabled = true;
Annotation an = new Annotation("Challengers");
an.Position = new Point(100, 30);
an.ClearColors();
an.Label.Font = new Font("Tahoma",11, FontStyle.Bold);
Chart.Annotations.Add(an);
an = new Annotation("Leaders");
an.Position = new Point(400, 30);
an.ClearColors();
an.Label.Font = new Font("Tahoma",11, FontStyle.Bold);
Chart.Annotations.Add(an);
an = new Annotation("Niche Players");
an.Position = new Point(100, 495);
an.ClearColors();
an.Label.Font = new Font("Tahoma",11, FontStyle.Bold);
Chart.Annotations.Add(an);
an = new Annotation("Visionaries");
an.Position = new Point(400, 495);
an.ClearColors();
an.Label.Font = new Font("Tahoma",11, FontStyle.Bold);
Chart.Annotations.Add(an);
//Load and customize data
DataEngine de = new DataEngine();
de.Data = "./../../data/resources/MagicQuadrantData.csv";
de.DataFields = "xAxis=x,yAxis=y,vendor";//cvs must have header
de.ChartObject = Chart;
de.ChartType = ChartType.Scatter;
SeriesCollection sc = de.GetSeries();
foreach(Series sr in sc)
{
sr.DefaultElement.LabelTemplate = "%vendor";
sr.DefaultElement.ShowValue = true;
foreach(Element el in sr.Elements)
{
if (el.XValue <= 50 && el.YValue >= 50)
{
el.Color = ColorTranslator.FromHtml("#ffd54f");
}
if (el.XValue >= 50 && el.YValue >= 50)
{
el.Color = ColorTranslator.FromHtml("#29b6f6");
}
if (el.XValue <= 50 && el.YValue <= 50)
{
el.Color = ColorTranslator.FromHtml("#ef5350");
}
if (el.XValue >= 50 && el.YValue <= 50)
{
el.Color = ColorTranslator.FromHtml("#66bb6a");
}
}
}
Chart.SeriesCollection.Add(getQuadrantAreas());
Chart.SeriesCollection.Add(sc);
}
SeriesCollection getQuadrantAreas()
{
Series s = new Series();
s.Type = SeriesType.AreaLine;
Element e1 = new Element();
e1.YValue = 50;
e1.YValueStart = 0;
e1.XValue = 0;
Element e2 = new Element();
e2.YValue = 50;
e2.YValueStart = 0;
e2.XValue = 50;
s.Elements.Add(e1, e2);
Series s2 = new Series();
s2.Type = SeriesType.AreaLine;
Element e3 = new Element();
e3.YValue = 100;
e3.YValueStart = 50;
e3.XValue = 0;
Element e4 = new Element();
e4.YValue = 100;
e4.YValueStart = 50;
e4.XValue = 50;
s2.Elements.Add(e3, e4);
Series s3 = new Series();
s3.Type = SeriesType.AreaLine;
Element e5 = new Element();
e5.YValue = 100;
e5.YValueStart = 50;
e5.XValue = 50;
Element e6 = new Element();
e6.YValue = 100;
e6.YValueStart = 50;
e6.XValue = 100;
s3.Elements.Add(e5, e6);
Series s4 = new Series();
s4.Type = SeriesType.AreaLine;
Element e7 = new Element();
e7.YValue = 50;
e7.YValueStart = 0;
e7.XValue = 50;
Element e8 = new Element();
e8.YValue = 50;
e8.YValueStart = 0;
e8.XValue = 100;
s4.Elements.Add(e7, e8);
s.DefaultElement.Marker.Visible = false;
s2.DefaultElement.Marker.Visible = false;
s3.DefaultElement.Marker.Visible = false;
s4.DefaultElement.Marker.Visible = false;
s.DefaultElement.Transparency = 70;
s2.DefaultElement.Transparency = 70;
s3.DefaultElement.Transparency = 70;
s4.DefaultElement.Transparency = 70;
s.LegendEntry.Visible = false;
s2.LegendEntry.Visible = false;
s3.LegendEntry.Visible = false;
s4.LegendEntry.Visible = false;
SeriesCollection sc = new SeriesCollection();
sc.Add(s, s2, s3, s4);
return sc;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gallery Sample</title></head>
<body>
<div align="center">
<dotnet:Chart id="Chart" runat="server"/>
</div>
</body>
</html>
<%@ Page Language="vb" Description="dotnetCHARTING Component"%>
<%@ Register TagPrefix="dotnet" Namespace="dotnetCHARTING" Assembly="dotnetCHARTING"%>
<%@ Import Namespace="System.Drawing" %>
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Demonstrates how draw a quadrants on the chart area.
Chart.Type = ChartType.Combo
' Set the default series type.
Chart.DefaultSeries.Type = SeriesType.Marker
Chart.DefaultSeries.DefaultElement.Marker.Size = 12
Chart.DefaultSeries.DefaultElement.Marker.Type = ElementMarkerType.Circle
Chart.DefaultSeries.DefaultElement.ToolTip = ""
Chart.Palette = New Color() { Color.FromArgb(20, Color.Red),Color.FromArgb(20,Color.Yellow),Color.FromArgb(20, Color.SkyBlue), Color.FromArgb(20,Color.Green) }
Chart.TitleBox.Label.Text ="Magic Quadrant for Analytics and Business Intelligence Platforms 2019"
Chart.TitleBox.Label.Font = New Font("Tahoma",12, FontStyle.Regular)
Chart.TitleBox.Position = TitleBoxPosition.Center
' Set he chart size.
Chart.Width = 580
Chart.Height= 580
Chart.Debug = False
Chart.LegendBox.Visible = False
Chart.YAxis.ClearValues = True
Dim am As AxisMarker = New AxisMarker()
am.Line.Color = Color.Gray
am.Line.Width = 2
am.Value = 50
Chart.YAxis.Markers.Add(am)
Chart.XAxis.Minimum = 0
Chart.XAxis.Maximum = 100
Chart.XAxis.ClearValues = True
am = New AxisMarker()
am.Line.Color = Color.Gray
am.Line.Width = 2
am.Value = 50
Chart.XAxis.Markers.Add(am)
' Set the x axis label
Chart.XAxis.Label.Text="Completeness of Vision"
Chart.XAxis.ScaleRange = New ScaleRange(0, 100)
' Set the y axis label
Chart.YAxis.Label.Text="Ability to Execute"
Chart.YAxis.ScaleRange = New ScaleRange(0, 100)
' Set the directory where the related JSC files will be created and stored.
Chart.TempDirectory="temp"
' Enable JSCharting
Chart.JS.Enabled = True
Dim an As Annotation = New Annotation("Challengers")
an.Position = New Point(100, 30)
an.ClearColors()
an.Label.Font = New Font("Tahoma",11, FontStyle.Bold)
Chart.Annotations.Add(an)
an = New Annotation("Leaders")
an.Position = New Point(400, 30)
an.ClearColors()
an.Label.Font = New Font("Tahoma",11, FontStyle.Bold)
Chart.Annotations.Add(an)
an = New Annotation("Niche Players")
an.Position = New Point(100, 495)
an.ClearColors()
an.Label.Font = New Font("Tahoma",11, FontStyle.Bold)
Chart.Annotations.Add(an)
an = New Annotation("Visionaries")
an.Position = New Point(400, 495)
an.ClearColors()
an.Label.Font = New Font("Tahoma",11, FontStyle.Bold)
Chart.Annotations.Add(an)
'Load and customize data
Dim de As DataEngine = New DataEngine()
de.Data = "./../../data/resources/MagicQuadrantData.csv"
de.DataFields = "xAxis=x,yAxis=y,vendor" 'cvs must have header
de.ChartObject = Chart
de.ChartType = ChartType.Scatter
Dim sc As SeriesCollection = de.GetSeries()
For Each sr As Series In sc
sr.DefaultElement.LabelTemplate = "%vendor"
sr.DefaultElement.ShowValue = True
For Each el As Element In sr.Elements
If el.XValue <= 50 AndAlso el.YValue >= 50 Then
el.Color = ColorTranslator.FromHtml("#ffd54f")
End If
If el.XValue >= 50 AndAlso el.YValue >= 50 Then
el.Color = ColorTranslator.FromHtml("#29b6f6")
End If
If el.XValue <= 50 AndAlso el.YValue <= 50 Then
el.Color = ColorTranslator.FromHtml("#ef5350")
End If
If el.XValue >= 50 AndAlso el.YValue <= 50 Then
el.Color = ColorTranslator.FromHtml("#66bb6a")
End If
Next el
Next sr
Chart.SeriesCollection.Add(getQuadrantAreas())
Chart.SeriesCollection.Add(sc)
End Sub
Function getQuadrantAreas() As SeriesCollection
Dim s As Series = New Series()
s.Type = SeriesType.AreaLine
Dim e1 As Element = New Element()
e1.YValue = 50
e1.YValueStart = 0
e1.XValue = 0
Dim e2 As Element = New Element()
e2.YValue = 50
e2.YValueStart = 0
e2.XValue = 50
s.Elements.Add(e1, e2)
Dim s2 As Series = New Series()
s2.Type = SeriesType.AreaLine
Dim e3 As Element = New Element()
e3.YValue = 100
e3.YValueStart = 50
e3.XValue = 0
Dim e4 As Element = New Element()
e4.YValue = 100
e4.YValueStart = 50
e4.XValue = 50
s2.Elements.Add(e3, e4)
Dim s3 As Series = New Series()
s3.Type = SeriesType.AreaLine
Dim e5 As Element = New Element()
e5.YValue = 100
e5.YValueStart = 50
e5.XValue = 50
Dim e6 As Element = New Element()
e6.YValue = 100
e6.YValueStart = 50
e6.XValue = 100
s3.Elements.Add(e5, e6)
Dim s4 As Series = New Series()
s4.Type = SeriesType.AreaLine
Dim e7 As Element = New Element()
e7.YValue = 50
e7.YValueStart = 0
e7.XValue = 50
Dim e8 As Element = New Element()
e8.YValue = 50
e8.YValueStart = 0
e8.XValue = 100
s4.Elements.Add(e7, e8)
s.DefaultElement.Marker.Visible = False
s2.DefaultElement.Marker.Visible = False
s3.DefaultElement.Marker.Visible = False
s4.DefaultElement.Marker.Visible = False
s.DefaultElement.Transparency = 70
s2.DefaultElement.Transparency = 70
s3.DefaultElement.Transparency = 70
s4.DefaultElement.Transparency = 70
s.LegendEntry.Visible = False
s2.LegendEntry.Visible = False
s3.LegendEntry.Visible = False
s4.LegendEntry.Visible = False
Dim sc As SeriesCollection = New SeriesCollection()
sc.Add(s, s2, s3, s4)
Return sc
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gallery Sample</title></head>
<body>
<div align="center">
<dotnet:Chart id="Chart" runat="server"/>
</div>
</body>
</html>
- Sample FilenameJsQuadrant.aspx
- Version10.0
- Uses DatabaseNo