Gallery
JS IPhone Prices
<%@ Page Language="C#" Description="dotnetCHARTING Component" %>
<%@ Register TagPrefix="dotnet" Namespace="dotnetCHARTING" Assembly="dotnetCHARTING" %>
<%@ Import Namespace="System.Drawing" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.netCHARTING Sample</title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// This sample demonstrates line chart of phone prices and how to draw faux stepped line series.
Chart.Type = ChartType.Combo;
Chart.Width = 875;
Chart.Height = 800;
Chart.JS.Enabled = true;
Chart.TempDirectory = "temp";
Chart.TitleBox.Label.Text = "iPhone Prices";
Chart.TitleBox.Label.Font = new Font("Tahoma", 10, FontStyle.Bold);
Chart.TitleBox.Position = TitleBoxPosition.Center;
Chart.TitleBox.ClearColors();
Chart.Debug = false;
Chart.DefaultSeries.Type = SeriesType.Line;
Chart.DefaultSeries.Line.Width = 3;
Chart.DefaultSeries.DefaultElement.Marker.Visible = false;
Chart.DefaultSeries.DefaultElement.ToolTip = "js:'<span style=\"color:%color;\"><b>%seriesName</b></span> %value'";
Chart.LegendBox.Template = "%icon,%name";
Chart.LegendBox.ClearColors();
Chart.DefaultSeries.LegendEntry.LabelStyle.Font = new Font("Tahoma", 7, FontStyle.Regular);
Chart.JS.RenderCallback = "addSeriesLabel";
Chart.JS.Settings.Add("xAxis_crosshair_enabled", "true");
Chart.XAxis.Scale = Scale.Time;
Chart.YAxis.FormatString = "c:0";
#region extra legend entries
Font lgFont = new Font("Tahoma", 7, FontStyle.Bold);
LegendEntry le = new LegendEntry();
le.Name = "iPhone 1:";
le.SortOrder = -1;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 3G:";
le.SortOrder = 2;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 3GS:";
le.SortOrder = 4;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 4:";
le.SortOrder = 7;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 4S:";
le.SortOrder = 10;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 5:";
le.SortOrder = 14;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 5C:";
le.SortOrder = 17;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 5S:";
le.SortOrder = 20;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 6:";
le.SortOrder = 23;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 6 Plus:";
le.SortOrder = 26;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 6S:";
le.SortOrder = 29;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 6S Plus:";
le.SortOrder = 33;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone SE:";
le.SortOrder = 36;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 7:";
le.SortOrder = 40;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 7 Plus:";
le.SortOrder = 43;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 8:";
le.SortOrder = 46;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone 8 Plus:";
le.SortOrder = 48;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone X:";
le.SortOrder = 50;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone Xs:";
le.SortOrder = 52;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone Xs Max:";
le.SortOrder = 55;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
le = new LegendEntry();
le.Name = "iPhone Xr:";
le.SortOrder = 58;
le.LabelStyle.Font = lgFont;
Chart.LegendBox.ExtraEntries.Add(le);
for(int i=0;i<Chart.LegendBox.ExtraEntries.Count;i++)
Chart.JS.Settings.Add("legend_customEntries."+i+".icon", "none");
#endregion
Chart.Palette = new Color[] { ColorTranslator.FromHtml("#d50000"),ColorTranslator.FromHtml("#ff1744"),ColorTranslator.FromHtml("#ff5252"),//1
ColorTranslator.FromHtml("#880e4f"),ColorTranslator.FromHtml("#c2185b"),//3G
ColorTranslator.FromHtml("#f50057"),ColorTranslator.FromHtml("#ff4081"),ColorTranslator.FromHtml("#ff80ab"),//3GS
ColorTranslator.FromHtml("#4a148c"),ColorTranslator.FromHtml("#7b1fa2"),ColorTranslator.FromHtml("#ab47bc"),//4
ColorTranslator.FromHtml("#aa00ff"),ColorTranslator.FromHtml("#d500f9"),ColorTranslator.FromHtml("#e040fb"),ColorTranslator.FromHtml("#ea80fc"),//4S
ColorTranslator.FromHtml("#6200ea"),ColorTranslator.FromHtml("#7c4dff"),ColorTranslator.FromHtml("#b388ff"),//5
ColorTranslator.FromHtml("#304ffe"),ColorTranslator.FromHtml("#536dfe"),ColorTranslator.FromHtml("#8c9eff"),//5C
ColorTranslator.FromHtml("#0d47a1"),ColorTranslator.FromHtml("#1976d2"),ColorTranslator.FromHtml("#1e88e5"),//5S
ColorTranslator.FromHtml("#0091ea"),ColorTranslator.FromHtml("#00b0ff"),ColorTranslator.FromHtml("#40c4ff"),//6
ColorTranslator.FromHtml("#00b8d4"),ColorTranslator.FromHtml("#00e5ff"),ColorTranslator.FromHtml("#18ffff"),//6 Plus
ColorTranslator.FromHtml("#00bfa5"),ColorTranslator.FromHtml("#1de9b6"),ColorTranslator.FromHtml("#64ffda"),ColorTranslator.FromHtml("#a7ffeb"),//6S
ColorTranslator.FromHtml("#00c853"),ColorTranslator.FromHtml("#00e676"),ColorTranslator.FromHtml("#69f0ae"),//6S Plus
ColorTranslator.FromHtml("#aeea00"),ColorTranslator.FromHtml("#c6ff00"),ColorTranslator.FromHtml("#eeff41"),ColorTranslator.FromHtml("#f4ff81"),//SE
ColorTranslator.FromHtml("#f57f17"),ColorTranslator.FromHtml("#fbc02d"),ColorTranslator.FromHtml("#ffeb3b"),//7
ColorTranslator.FromHtml("#ffd600"),ColorTranslator.FromHtml("#ffea00"),ColorTranslator.FromHtml("#ffff00"),//7 Plus
ColorTranslator.FromHtml("#ff6f00"),ColorTranslator.FromHtml("#ff8f00"),//8
ColorTranslator.FromHtml("#ffb300"),ColorTranslator.FromHtml("#ffc107"),//8 Plus
ColorTranslator.FromHtml("#ffd740"),ColorTranslator.FromHtml("#ffe57f"),//X
ColorTranslator.FromHtml("#e65100"),ColorTranslator.FromHtml("#ef6c00"),ColorTranslator.FromHtml("#f57c00"),//Xs
ColorTranslator.FromHtml("#bf360c"),ColorTranslator.FromHtml("#d84315"),ColorTranslator.FromHtml("#e64a19"),//Xs Max
ColorTranslator.FromHtml("#dd2c00"),ColorTranslator.FromHtml("#ff3d00"),ColorTranslator.FromHtml("#ff6e40")};//Xr
// *DYNAMIC DATA NOTE*
// This sample uses random data to populate the chart. To populate
// a chart with database data see the following resources:
// - Classic samples folder
// - Help File > Data Tutorials
// - Sample: features/DataEngine.aspx
SeriesCollection mySC = getData();
Chart.SeriesCollection.Add(mySC);
}
SeriesCollection getData()
{
SeriesCollection SC = new SeriesCollection();
Series ser = new Series();
ser.Name = "iPhone 1 4GB";
Element el = new Element("", new DateTime(2007, 6, 1), 500);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2007, 8, 1), 500));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 1 8GB";
el = new Element("", new DateTime(2007, 6, 1), 600);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2007, 7, 1), 600));
ser.Elements.Add(new Element("", new DateTime(2007, 8, 1), 400));
ser.Elements.Add(new Element("", new DateTime(2008, 5, 1), 400));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 1 16GB";
el = new Element("", new DateTime(2008, 1, 1), 500);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2008, 5, 1), 500));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 3G 8GB";
el = new Element("", new DateTime(2008, 6, 1), 600);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2009, 5, 1), 600));
ser.Elements.Add(new Element("", new DateTime(2009, 6, 1), 500));
ser.Elements.Add(new Element("", new DateTime(2010, 5, 1), 500));
ser.Elements.Add(new Element("", new DateTime(2010, 6, 1), 400));
ser.Elements.Add(new Element("", new DateTime(2011, 5, 1), 400));
ser.Elements.Add(new Element("", new DateTime(2011, 6, 1), 500));
ser.Elements.Add(new Element("", new DateTime(2011, 9, 1), 500));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 3G 16GB";
el = new Element("", new DateTime(2008, 6, 1), 700);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2009, 5, 1), 700));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 3GS 8GB";
el = new Element("", new DateTime(2010, 6, 1), 500);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2011, 5, 1), 500));
ser.Elements.Add(new Element("", new DateTime(2011, 6, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2011, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2011, 10, 1), 450));
ser.Elements.Add(new Element("", new DateTime(2012, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 3GS 16GB";
el = new Element("", new DateTime(2009, 6, 1), 600);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2010, 5, 1), 600));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 3GS 32GB";
el = new Element("", new DateTime(2009, 6, 1), 700);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2010, 5, 1), 700));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4 8GB";
el = new Element("", new DateTime(2011, 10, 1), 550);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2012, 8, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2012, 9, 1), 450));
ser.Elements.Add(new Element("", new DateTime(2013, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4 16GB";
el = new Element("", new DateTime(2010,6, 1), 600);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2011, 5, 1), 600));
ser.Elements.Add(new Element("", new DateTime(2011, 6, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2011, 9, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4 32GB";
el = new Element("", new DateTime(2010,6, 1), 700);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2011, 5, 1), 700));
ser.Elements.Add(new Element("", new DateTime(2011, 6, 1), 750));
ser.Elements.Add(new Element("", new DateTime(2011, 9, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4S 8GB";
el = new Element("", new DateTime(2013,9, 1), 450);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2014, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4S 16GB";
el = new Element("", new DateTime(2011,10, 1), 650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2012, 8, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2012, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2013, 8, 1), 550));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4S 32GB";
el = new Element("", new DateTime(2011,10, 1), 750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2012, 8, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 4S 64GB";
el = new Element("", new DateTime(2011,10, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2012, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5 16GB";
el = new Element("", new DateTime(2012,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2013, 8, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5 32GB";
el = new Element("", new DateTime(2012,9, 1),750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2013, 8, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5 64GB";
el = new Element("", new DateTime(2012,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2013, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5C 8GB";
el = new Element("", new DateTime(2014,9, 1),450);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5C 16GB";
el = new Element("", new DateTime(2013,9, 1),550);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2014, 8, 1), 550));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5C 32GB";
el = new Element("", new DateTime(2013,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2014, 8, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5S 16GB";
el = new Element("", new DateTime(2013,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2014, 8, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2014, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2015, 9, 1), 450));
ser.Elements.Add(new Element("", new DateTime(2016, 7, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5S 32GB";
el = new Element("", new DateTime(2013,9, 1),750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2014, 8, 1), 750));
ser.Elements.Add(new Element("", new DateTime(2014, 9, 1), 600));
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 600));
ser.Elements.Add(new Element("", new DateTime(2015, 9, 1), 500));
ser.Elements.Add(new Element("", new DateTime(2016, 7, 1), 500));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 5S 64GB";
el = new Element("", new DateTime(2013,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2014, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6 16GB";
el = new Element("", new DateTime(2014,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2015, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 550));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6 64GB";
el = new Element("", new DateTime(2014,9, 1),750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 750));
ser.Elements.Add(new Element("", new DateTime(2015, 9, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6 128GB";
el = new Element("", new DateTime(2014,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6 Plus 16GB";
el = new Element("", new DateTime(2014,9, 1),750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6 Plus 64GB";
el = new Element("", new DateTime(2014,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 850));
ser.Elements.Add(new Element("", new DateTime(2015, 9, 1), 750));
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6 Plus 128GB";
el = new Element("", new DateTime(2014,9, 1),950);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2015, 8, 1), 950));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S 16GB";
el = new Element("", new DateTime(2015,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S 32GB";
el = new Element("", new DateTime(2016,9, 1),550);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 450));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S 64GB";
el = new Element("", new DateTime(2015,9, 1),750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S 128GB";
el = new Element("", new DateTime(2015,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 850));
ser.Elements.Add(new Element("", new DateTime(2016, 9, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 550));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S Plus 16GB";
el = new Element("", new DateTime(2015,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S Plus 64GB";
el = new Element("", new DateTime(2015,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 6S Plus 128GB";
el = new Element("", new DateTime(2015,9, 1),950);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 950));
ser.Elements.Add(new Element("", new DateTime(2016, 9, 1), 850));
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 850));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 650));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone SE 16GB";
el = new Element("", new DateTime(2016,3, 1),400);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 400));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone SE 32GB";
el = new Element("", new DateTime(2017,9, 1),350);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 350));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone SE 64GB";
el = new Element("", new DateTime(2016,7, 1),500);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2016, 8, 1), 500));
ser.Elements.Add(new Element("", new DateTime(2016, 9, 1), 450));
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone SE 128GB";
el = new Element("", new DateTime(2017,9, 1),450);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 7 32GB";
el = new Element("", new DateTime(2016,9, 1),650);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 450));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 7 128GB";
el = new Element("", new DateTime(2016,9, 1),750);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 750));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 650));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 550));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 550));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 7 256GB";
el = new Element("", new DateTime(2016,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 7 Plus 32GB";
el = new Element("", new DateTime(2016,9, 1),770);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 770));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 670));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 670));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 570));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 570));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 7 Plus 128GB";
el = new Element("", new DateTime(2016,9, 1),870);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 870));
ser.Elements.Add(new Element("", new DateTime(2017, 9, 1), 770));
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 770));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 670));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 670));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 7 256GB";
el = new Element("", new DateTime(2016,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2017, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 8 64GB";
el = new Element("", new DateTime(2017,9, 1),700);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 700));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 600));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 600));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 8 256GB";
el = new Element("", new DateTime(2017,9, 1),800);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 800));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 700));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 700));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 8 Plus 64GB";
el = new Element("", new DateTime(2017,9, 1),850);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 850));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 750));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 750));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone 8 Plus 256GB";
el = new Element("", new DateTime(2017,9, 1),950);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 950));
ser.Elements.Add(new Element("", new DateTime(2018, 9, 1), 850));
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 850));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone X 64GB";
el = new Element("", new DateTime(2017,9, 1),1000);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 1000));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone X 256GB";
el = new Element("", new DateTime(2017,9, 1),1150);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2018, 8, 1), 1150));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xs 64GB";
el = new Element("", new DateTime(2018,9, 1),1000);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 1000));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xs 256GB";
el = new Element("", new DateTime(2018,9, 1),1150);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 1150));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xs 512GB";
el = new Element("", new DateTime(2018,9, 1),1350);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 1350));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xs Max 64GB";
el = new Element("", new DateTime(2018,9, 1),1100);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 1100));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xs Max 256GB";
el = new Element("", new DateTime(2018,9, 1),1250);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 1250));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xs Max 512GB";
el = new Element("", new DateTime(2018,9, 1),1450);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 1450));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xr 64GB";
el = new Element("", new DateTime(2018,9, 1),700);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 700));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xr 128GB";
el = new Element("", new DateTime(2018,9, 1),800);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 800));
SC.Add(ser);
ser = new Series();
ser.Name = "iPhone Xr 256GB";
el = new Element("", new DateTime(2018,9, 1),900);
el.CustomAttributes.Add("attributes_type", "start");
ser.Elements.Add(el);
ser.Elements.Add(new Element("", new DateTime(2019, 8, 1), 900));
SC.Add(ser);
return SC;
}
</script>
</head>
<body>
<div align="center">
<dotnet:Chart ID="Chart" runat="server"/>
</div>
<script type="text/javascript">
function addSeriesLabel(c) {
c.series().each(function (ser) {
ser.points().each(function (point) {
if (point.options('attributes.ATTRIBUTES_TYPE') === 'start' ) {
point.label = {
visible: true,
autoHide: true,
align: 'right',
verticalAlign: 'top',
text: function (point) { return point.replaceTokens('%seriesName').replace(/GB/g, "").replace(/iPhone/g, "") }
};
point.options({ label: point.label },false);
}
})
})
c.redraw();
}
</script>
</body>
</html>
<%@ Page Language="vb" Description="dotnetCHARTING Component" %>
<%@ Register TagPrefix="dotnet" Namespace="dotnetCHARTING" Assembly="dotnetCHARTING" %>
<%@ Import Namespace="System.Drawing" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.netCHARTING Sample</title>
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' This sample demonstrates line chart of phone prices and how to draw faux stepped line series.
Chart.Type = ChartType.Combo
Chart.Width = 875
Chart.Height = 800
Chart.JS.Enabled = True
Chart.TempDirectory = "temp"
Chart.TitleBox.Label.Text = "iPhone Prices"
Chart.TitleBox.Label.Font = New Font("Tahoma", 10, FontStyle.Bold)
Chart.TitleBox.Position = TitleBoxPosition.Center
Chart.TitleBox.ClearColors()
Chart.Debug = False
Chart.DefaultSeries.Type = SeriesType.Line
Chart.DefaultSeries.Line.Width = 3
Chart.DefaultSeries.DefaultElement.Marker.Visible = False
Chart.DefaultSeries.DefaultElement.ToolTip = "js:'<span style=""color:%color;""><b>%seriesName</b></span> %value'"
Chart.LegendBox.Template = "%icon,%name"
Chart.LegendBox.ClearColors()
Chart.DefaultSeries.LegendEntry.LabelStyle.Font = New Font("Tahoma", 7, FontStyle.Regular)
Chart.JS.RenderCallback = "addSeriesLabel"
Chart.JS.Settings.Add("xAxis_crosshair_enabled", "true")
Chart.XAxis.Scale = Scale.Time
Chart.YAxis.FormatString = "c:0"
' #Region "extra legend entries"
Dim lgFont As Font = New Font("Tahoma", 7, FontStyle.Bold)
Dim le As LegendEntry = New LegendEntry()
le.Name = "iPhone 1:"
le.SortOrder = -1
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 3G:"
le.SortOrder = 2
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 3GS:"
le.SortOrder = 4
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 4:"
le.SortOrder = 7
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 4S:"
le.SortOrder = 10
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 5:"
le.SortOrder = 14
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 5C:"
le.SortOrder = 17
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 5S:"
le.SortOrder = 20
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 6:"
le.SortOrder = 23
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 6 Plus:"
le.SortOrder = 26
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 6S:"
le.SortOrder = 29
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 6S Plus:"
le.SortOrder = 33
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone SE:"
le.SortOrder = 36
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 7:"
le.SortOrder = 40
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 7 Plus:"
le.SortOrder = 43
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 8:"
le.SortOrder = 46
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone 8 Plus:"
le.SortOrder = 48
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone X:"
le.SortOrder = 50
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone Xs:"
le.SortOrder = 52
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone Xs Max:"
le.SortOrder = 55
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
le = New LegendEntry()
le.Name = "iPhone Xr:"
le.SortOrder = 58
le.LabelStyle.Font = lgFont
Chart.LegendBox.ExtraEntries.Add(le)
For i As Integer = 0 To Chart.LegendBox.ExtraEntries.Count - 1
Chart.JS.Settings.Add("legend_customEntries." & i & ".icon", "none")
Next i
' #End Region
Chart.Palette = New Color() { ColorTranslator.FromHtml("#d50000"),ColorTranslator.FromHtml("#ff1744"),ColorTranslator.FromHtml("#ff5252"), ColorTranslator.FromHtml("#880e4f"),ColorTranslator.FromHtml("#c2185b"), ColorTranslator.FromHtml("#f50057"),ColorTranslator.FromHtml("#ff4081"),ColorTranslator.FromHtml("#ff80ab"), ColorTranslator.FromHtml("#4a148c"),ColorTranslator.FromHtml("#7b1fa2"),ColorTranslator.FromHtml("#ab47bc"), ColorTranslator.FromHtml("#aa00ff"),ColorTranslator.FromHtml("#d500f9"),ColorTranslator.FromHtml("#e040fb"),ColorTranslator.FromHtml("#ea80fc"), ColorTranslator.FromHtml("#6200ea"),ColorTranslator.FromHtml("#7c4dff"),ColorTranslator.FromHtml("#b388ff"), ColorTranslator.FromHtml("#304ffe"),ColorTranslator.FromHtml("#536dfe"),ColorTranslator.FromHtml("#8c9eff"), ColorTranslator.FromHtml("#0d47a1"),ColorTranslator.FromHtml("#1976d2"),ColorTranslator.FromHtml("#1e88e5"), ColorTranslator.FromHtml("#0091ea"),ColorTranslator.FromHtml("#00b0ff"),ColorTranslator.FromHtml("#40c4ff"), ColorTranslator.FromHtml("#00b8d4"),ColorTranslator.FromHtml("#00e5ff"),ColorTranslator.FromHtml("#18ffff"), ColorTranslator.FromHtml("#00bfa5"),ColorTranslator.FromHtml("#1de9b6"),ColorTranslator.FromHtml("#64ffda"),ColorTranslator.FromHtml("#a7ffeb"), ColorTranslator.FromHtml("#00c853"),ColorTranslator.FromHtml("#00e676"),ColorTranslator.FromHtml("#69f0ae"), ColorTranslator.FromHtml("#aeea00"),ColorTranslator.FromHtml("#c6ff00"),ColorTranslator.FromHtml("#eeff41"),ColorTranslator.FromHtml("#f4ff81"), ColorTranslator.FromHtml("#f57f17"),ColorTranslator.FromHtml("#fbc02d"),ColorTranslator.FromHtml("#ffeb3b"), ColorTranslator.FromHtml("#ffd600"),ColorTranslator.FromHtml("#ffea00"),ColorTranslator.FromHtml("#ffff00"), ColorTranslator.FromHtml("#ff6f00"),ColorTranslator.FromHtml("#ff8f00"), ColorTranslator.FromHtml("#ffb300"),ColorTranslator.FromHtml("#ffc107"), ColorTranslator.FromHtml("#ffd740"),ColorTranslator.FromHtml("#ffe57f"), ColorTranslator.FromHtml("#e65100"),ColorTranslator.FromHtml("#ef6c00"),ColorTranslator.FromHtml("#f57c00"), ColorTranslator.FromHtml("#bf360c"),ColorTranslator.FromHtml("#d84315"),ColorTranslator.FromHtml("#e64a19"), ColorTranslator.FromHtml("#dd2c00"),ColorTranslator.FromHtml("#ff3d00"),ColorTranslator.FromHtml("#ff6e40")} 'Xr
' *DYNAMIC DATA NOTE*
' This sample uses random data to populate the chart. To populate
' a chart with database data see the following resources:
' - Classic samples folder
' - Help File > Data Tutorials
' - Sample: features/DataEngine.aspx
Dim mySC As SeriesCollection = getData()
Chart.SeriesCollection.Add(mySC)
End Sub
Function getData() As SeriesCollection
Dim SC As SeriesCollection = New SeriesCollection()
Dim ser As Series = New Series()
ser.Name = "iPhone 1 4GB"
Dim el As Element = New Element("", New DateTime(2007, 6, 1), 500)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2007, 8, 1), 500))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 1 8GB"
el = New Element("", New DateTime(2007, 6, 1), 600)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2007, 7, 1), 600))
ser.Elements.Add(New Element("", New DateTime(2007, 8, 1), 400))
ser.Elements.Add(New Element("", New DateTime(2008, 5, 1), 400))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 1 16GB"
el = New Element("", New DateTime(2008, 1, 1), 500)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2008, 5, 1), 500))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 3G 8GB"
el = New Element("", New DateTime(2008, 6, 1), 600)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2009, 5, 1), 600))
ser.Elements.Add(New Element("", New DateTime(2009, 6, 1), 500))
ser.Elements.Add(New Element("", New DateTime(2010, 5, 1), 500))
ser.Elements.Add(New Element("", New DateTime(2010, 6, 1), 400))
ser.Elements.Add(New Element("", New DateTime(2011, 5, 1), 400))
ser.Elements.Add(New Element("", New DateTime(2011, 6, 1), 500))
ser.Elements.Add(New Element("", New DateTime(2011, 9, 1), 500))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 3G 16GB"
el = New Element("", New DateTime(2008, 6, 1), 700)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2009, 5, 1), 700))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 3GS 8GB"
el = New Element("", New DateTime(2010, 6, 1), 500)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2011, 5, 1), 500))
ser.Elements.Add(New Element("", New DateTime(2011, 6, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2011, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2011, 10, 1), 450))
ser.Elements.Add(New Element("", New DateTime(2012, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 3GS 16GB"
el = New Element("", New DateTime(2009, 6, 1), 600)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2010, 5, 1), 600))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 3GS 32GB"
el = New Element("", New DateTime(2009, 6, 1), 700)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2010, 5, 1), 700))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4 8GB"
el = New Element("", New DateTime(2011, 10, 1), 550)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2012, 8, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2012, 9, 1), 450))
ser.Elements.Add(New Element("", New DateTime(2013, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4 16GB"
el = New Element("", New DateTime(2010,6, 1), 600)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2011, 5, 1), 600))
ser.Elements.Add(New Element("", New DateTime(2011, 6, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2011, 9, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4 32GB"
el = New Element("", New DateTime(2010,6, 1), 700)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2011, 5, 1), 700))
ser.Elements.Add(New Element("", New DateTime(2011, 6, 1), 750))
ser.Elements.Add(New Element("", New DateTime(2011, 9, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4S 8GB"
el = New Element("", New DateTime(2013,9, 1), 450)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2014, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4S 16GB"
el = New Element("", New DateTime(2011,10, 1), 650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2012, 8, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2012, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2013, 8, 1), 550))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4S 32GB"
el = New Element("", New DateTime(2011,10, 1), 750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2012, 8, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 4S 64GB"
el = New Element("", New DateTime(2011,10, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2012, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5 16GB"
el = New Element("", New DateTime(2012,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2013, 8, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5 32GB"
el = New Element("", New DateTime(2012,9, 1),750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2013, 8, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5 64GB"
el = New Element("", New DateTime(2012,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2013, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5C 8GB"
el = New Element("", New DateTime(2014,9, 1),450)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5C 16GB"
el = New Element("", New DateTime(2013,9, 1),550)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2014, 8, 1), 550))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5C 32GB"
el = New Element("", New DateTime(2013,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2014, 8, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5S 16GB"
el = New Element("", New DateTime(2013,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2014, 8, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2014, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2015, 9, 1), 450))
ser.Elements.Add(New Element("", New DateTime(2016, 7, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5S 32GB"
el = New Element("", New DateTime(2013,9, 1),750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2014, 8, 1), 750))
ser.Elements.Add(New Element("", New DateTime(2014, 9, 1), 600))
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 600))
ser.Elements.Add(New Element("", New DateTime(2015, 9, 1), 500))
ser.Elements.Add(New Element("", New DateTime(2016, 7, 1), 500))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 5S 64GB"
el = New Element("", New DateTime(2013,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2014, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6 16GB"
el = New Element("", New DateTime(2014,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2015, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 550))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6 64GB"
el = New Element("", New DateTime(2014,9, 1),750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 750))
ser.Elements.Add(New Element("", New DateTime(2015, 9, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6 128GB"
el = New Element("", New DateTime(2014,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6 Plus 16GB"
el = New Element("", New DateTime(2014,9, 1),750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6 Plus 64GB"
el = New Element("", New DateTime(2014,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 850))
ser.Elements.Add(New Element("", New DateTime(2015, 9, 1), 750))
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6 Plus 128GB"
el = New Element("", New DateTime(2014,9, 1),950)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2015, 8, 1), 950))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S 16GB"
el = New Element("", New DateTime(2015,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S 32GB"
el = New Element("", New DateTime(2016,9, 1),550)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 450))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S 64GB"
el = New Element("", New DateTime(2015,9, 1),750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S 128GB"
el = New Element("", New DateTime(2015,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 850))
ser.Elements.Add(New Element("", New DateTime(2016, 9, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 550))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S Plus 16GB"
el = New Element("", New DateTime(2015,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S Plus 64GB"
el = New Element("", New DateTime(2015,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 6S Plus 128GB"
el = New Element("", New DateTime(2015,9, 1),950)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 950))
ser.Elements.Add(New Element("", New DateTime(2016, 9, 1), 850))
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 850))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 650))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone SE 16GB"
el = New Element("", New DateTime(2016,3, 1),400)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 400))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone SE 32GB"
el = New Element("", New DateTime(2017,9, 1),350)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 350))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone SE 64GB"
el = New Element("", New DateTime(2016,7, 1),500)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2016, 8, 1), 500))
ser.Elements.Add(New Element("", New DateTime(2016, 9, 1), 450))
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone SE 128GB"
el = New Element("", New DateTime(2017,9, 1),450)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 7 32GB"
el = New Element("", New DateTime(2016,9, 1),650)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 450))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 7 128GB"
el = New Element("", New DateTime(2016,9, 1),750)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 750))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 650))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 550))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 550))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 7 256GB"
el = New Element("", New DateTime(2016,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 7 Plus 32GB"
el = New Element("", New DateTime(2016,9, 1),770)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 770))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 670))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 670))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 570))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 570))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 7 Plus 128GB"
el = New Element("", New DateTime(2016,9, 1),870)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 870))
ser.Elements.Add(New Element("", New DateTime(2017, 9, 1), 770))
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 770))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 670))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 670))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 7 256GB"
el = New Element("", New DateTime(2016,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2017, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 8 64GB"
el = New Element("", New DateTime(2017,9, 1),700)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 700))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 600))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 600))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 8 256GB"
el = New Element("", New DateTime(2017,9, 1),800)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 800))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 700))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 700))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 8 Plus 64GB"
el = New Element("", New DateTime(2017,9, 1),850)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 850))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 750))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 750))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone 8 Plus 256GB"
el = New Element("", New DateTime(2017,9, 1),950)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 950))
ser.Elements.Add(New Element("", New DateTime(2018, 9, 1), 850))
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 850))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone X 64GB"
el = New Element("", New DateTime(2017,9, 1),1000)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 1000))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone X 256GB"
el = New Element("", New DateTime(2017,9, 1),1150)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2018, 8, 1), 1150))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xs 64GB"
el = New Element("", New DateTime(2018,9, 1),1000)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 1000))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xs 256GB"
el = New Element("", New DateTime(2018,9, 1),1150)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 1150))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xs 512GB"
el = New Element("", New DateTime(2018,9, 1),1350)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 1350))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xs Max 64GB"
el = New Element("", New DateTime(2018,9, 1),1100)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 1100))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xs Max 256GB"
el = New Element("", New DateTime(2018,9, 1),1250)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 1250))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xs Max 512GB"
el = New Element("", New DateTime(2018,9, 1),1450)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 1450))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xr 64GB"
el = New Element("", New DateTime(2018,9, 1),700)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 700))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xr 128GB"
el = New Element("", New DateTime(2018,9, 1),800)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 800))
SC.Add(ser)
ser = New Series()
ser.Name = "iPhone Xr 256GB"
el = New Element("", New DateTime(2018,9, 1),900)
el.CustomAttributes.Add("attributes_type", "start")
ser.Elements.Add(el)
ser.Elements.Add(New Element("", New DateTime(2019, 8, 1), 900))
SC.Add(ser)
Return SC
End Function
</script>
</head>
<body>
<div align="center">
<dotnet:Chart ID="Chart" runat="server"/>
</div>
<script type="text/javascript">
function addSeriesLabel(c) {
c.series().each(function (ser) {
ser.points().each(function (point) {
if (point.options('attributes.ATTRIBUTES_TYPE') === 'start' ) {
point.label = {
visible: true,
autoHide: true,
align: 'right',
verticalAlign: 'top',
text: function (point) { return point.replaceTokens('%seriesName').replace(/GB/g, "").replace(/iPhone/g, "") }
};
point.options({ label: point.label },false);
}
})
})
c.redraw();
}
</script>
</body>
</html>
- Sample FilenameJsIPhonePrices.aspx
- Version9.3
- Uses DatabaseNo