In this example, a contour chart is created from 150, randomly choosen, scattered data points. The function is , so the level curve should be circles.
The input data is shown on top of the contours as small green circles. The chart data nodes are drawn in the order in which they are added, so the input data marker node has to be added to the axis after the contour, so that the markers are not hidden.
using Imsl.Chart2D; using System; using System.Windows.Forms; public class ContourEx2 : FrameChart { public ContourEx2() { Chart chart = this.Chart; int n = 150; // Allocate space double[] x = new double[n]; double[] y = new double[n]; double[] z = new double[n]; System.Random random = new System.Random((System.Int32) 123457); double[] randomValue=new double[150]; randomValue[0]=0.41312962995625035; randomValue[1]=0.8225528716547005; randomValue[2]=0.44364905186692527; randomValue[3]=0.9887088342522812; randomValue[4]=0.9647868112234352; randomValue[5]=0.5668831243079411; randomValue[6]=0.27386697614898103; randomValue[7]=0.8805853693809824; randomValue[8]=0.7180829622748057; randomValue[9]=0.6153607537410654; randomValue[10]=0.3158193853638753; randomValue[11]=0.10778543304578747; randomValue[12]=0.09275375134615693; randomValue[13]=0.9817642781628322; randomValue[14]=0.467363186309925; randomValue[15]=0.9066980293517674; randomValue[16]=0.31440695305815347; randomValue[17]=0.9991560762956562; randomValue[18]=0.785150345014761; randomValue[19]=0.7930129038729785; randomValue[20]=0.5695413465811706; randomValue[21]=0.7625752595574732; randomValue[22]=0.0482465474704169; randomValue[23]=0.09904819350827354; randomValue[24]=0.7013979421419555; randomValue[25]=0.8127581377189425; randomValue[26]=0.2160980302718407; randomValue[27]=0.2618716012466812; randomValue[28]=0.966175212476057; randomValue[29]=0.8929180151759015; randomValue[30]=0.9253777827882632; randomValue[31]=0.3192464623158826; randomValue[32]=0.6191390558809441; randomValue[33]=0.860615090126798; randomValue[34]=0.4202423262221493; randomValue[35]=0.3204335652731257; randomValue[36]=0.3501592792324697; randomValue[37]=0.08674811183862785; randomValue[38]=0.5605305915601296; randomValue[39]=0.6088802062708134; randomValue[40]=0.8382035138841133; randomValue[41]=0.9236987545556213; randomValue[42]=0.8024356174828979; randomValue[43]=0.18382779454152387; randomValue[44]=0.9443198089192774; randomValue[45]=0.07466011736504485; randomValue[46]=0.2961809553169247; randomValue[47]=0.597869137157411; randomValue[48]=0.3126393883707773; randomValue[49]=0.9461805842458413; randomValue[50]=0.4952325691501952; randomValue[51]=0.0974865497453884; randomValue[52]=0.39893060081096055; randomValue[53]=0.31595422264648054; randomValue[54]=0.9215776190059227; randomValue[55]=0.963602405500786; randomValue[56]=0.1962353914644036; randomValue[57]=0.897888992070645; randomValue[58]=0.9816014888911522; randomValue[59]=0.2591728892012697; randomValue[60]=0.177119526412298; randomValue[61]=0.6364841570839579; randomValue[62]=0.9770940229311096; randomValue[63]=0.44085669522358406; randomValue[64]=0.22206796609570068; randomValue[65]=0.8125478558454153; randomValue[66]=0.7059166517811799; randomValue[67]=0.5417895331224579; randomValue[68]=0.5535562377071471; randomValue[69]=0.2922863750389211; randomValue[70]=0.2968612011640126; randomValue[71]=0.882495829596943; randomValue[72]=0.9453297028667043; randomValue[73]=0.5017962685731009; randomValue[74]=0.17323198276725293; randomValue[75]=0.516968989592425; randomValue[76]=0.7264211901923515; randomValue[77]=0.9589904164393783; randomValue[78]=0.2896822052185578; randomValue[79]=0.8709512849886136; randomValue[80]=0.3494389711171513; randomValue[81]=0.444989615581906; randomValue[82]=0.03683604460307233; randomValue[83]=0.2794447857758138; randomValue[84]=0.5426558540369049; randomValue[85]=0.14701055330017276; randomValue[86]=0.45822765810918564; randomValue[87]=0.3804843649168811; randomValue[88]=0.31543075674256227; randomValue[89]=0.35478179229078655; randomValue[90]=0.6740882045962612; randomValue[91]=0.5722042439512296; randomValue[92]=0.336494210223919; randomValue[93]=0.5425187147067986; randomValue[94]=0.6565124760451249; randomValue[95]=0.9902292520993252; randomValue[96]=0.4546287589180955; randomValue[97]=0.9184888233730713; randomValue[98]=0.7505359876181693; randomValue[99]=0.7124220647583559; randomValue[100]=0.3812755838294607; randomValue[101]=0.7741986381086996; randomValue[102]=0.5856540334323093; randomValue[103]=0.1480175568946106; randomValue[104]=0.8045988425857213; randomValue[105]=0.21523348843743784; randomValue[106]=0.2723138761466122; randomValue[107]=0.8181756787842892; randomValue[108]=0.45453852386561255; randomValue[109]=0.10578123947146922; randomValue[110]=0.027911361401003143; randomValue[111]=0.9849840119600158; randomValue[112]=0.8883835561320729; randomValue[113]=0.30887148321746527; randomValue[114]=0.6268231326584466; randomValue[115]=0.8359413755618763; randomValue[116]=0.01639605006272593; randomValue[117]=0.5543612693431772; randomValue[118]=0.3190057747399081; randomValue[119]=0.18095345468573598; randomValue[120]=0.6370180793354232; randomValue[121]=0.5166986319820245; randomValue[122]=0.11169309885740164; randomValue[123]=0.8688720220933366; randomValue[124]=0.5011922442391221; randomValue[125]=0.9344952771865647; randomValue[126]=0.5587227111699117; randomValue[127]=0.3806089260426023; randomValue[128]=0.6753272961079825; randomValue[129]=0.8539394715414731; randomValue[130]=0.4520234874494251; randomValue[131]=0.3058558270067878; randomValue[132]=0.2224399403890832; randomValue[133]=0.3280806679102708; randomValue[134]=0.05979465629761105; randomValue[135]=0.660441325427476; randomValue[136]=0.4710041931991943; randomValue[137]=0.15401687157352573; randomValue[138]=0.8059082103579294; randomValue[139]=0.25135648562180013; randomValue[140]=0.3910396401490016; randomValue[141]=0.48001615607289505; randomValue[142]=0.5350655938328643; randomValue[143]=0.5464799882069644; randomValue[144]=0.8469694582001581; randomValue[145]=0.3646033096669923; randomValue[146]=0.7582401994865531; randomValue[147]=0.7560344451536601; randomValue[148]=0.7467799442143332; randomValue[149]=0.619643401693058; double[] randomValueY=new double[150]; randomValueY[0]=0.15995876895053263; randomValueY[1]=0.48794367683379836; randomValueY[2]=0.20896329070872555; randomValueY[3]=0.4781765623804778; randomValueY[4]=0.6732389937186418; randomValueY[5]=0.33081942994459734; randomValueY[6]=0.10880787186704965; randomValueY[7]=0.901138442534768; randomValueY[8]=0.48723656383264413; randomValueY[9]=0.10153552805288812; randomValueY[10]=0.9558058275075961; randomValueY[11]=0.011829287599608884; randomValueY[12]=0.4859902873228249; randomValueY[13]=0.5505301300240635; randomValueY[14]=0.18652444274911184; randomValueY[15]=0.9272326533193322; randomValueY[16]=0.4215880116306273; randomValueY[17]=0.0386317648903991; randomValueY[18]=0.6451521871931544; randomValueY[19]=0.819301055474355; randomValueY[20]=0.039285689951912395; randomValueY[21]=0.31325564481720314; randomValueY[22]=0.6272275622766595; randomValueY[23]=0.8934533907186641; randomValueY[24]=0.5212913217641422; randomValueY[25]=0.6237725863035143; randomValueY[26]=0.3611731793838059; randomValueY[27]=0.23163547542978535; randomValueY[28]=0.7999943624102621; randomValueY[29]=0.5393314259940907; randomValueY[30]=0.10341603798162413; randomValueY[31]=0.48822476962455685; randomValueY[32]=0.5414223626279245; randomValueY[33]=0.08241640235000847; randomValueY[34]=0.27287579633296155; randomValueY[35]=0.6770605504344167; randomValueY[36]=0.8497059767892107; randomValueY[37]=0.04142051621448373; randomValueY[38]=0.30060172837976995; randomValueY[39]=0.5378809821731352; randomValueY[40]=0.9933333184285308; randomValueY[41]=0.5755163489718148; randomValueY[42]=0.12033991348116369; randomValueY[43]=0.22044795260992822; randomValueY[44]=0.7039752563092764; randomValueY[45]=0.47510550779825345; randomValueY[46]=0.47581191139276346; randomValueY[47]=0.2746412789430772; randomValueY[48]=0.8486627562667742; randomValueY[49]=0.6911278265254134; randomValueY[50]=0.47048601468635676; randomValueY[51]=0.18480344365963364; randomValueY[52]=0.5260974820985063; randomValueY[53]=0.9965118715946334; randomValueY[54]=0.03562254706322543; randomValueY[55]=0.9366159496862719; randomValueY[56]=0.8878769321024975; randomValueY[57]=0.8930475165444577; randomValueY[58]=0.24237426250726957; randomValueY[59]=0.354788700886031; randomValueY[60]=0.2354154511947073; randomValueY[61]=0.1269624995880959; randomValueY[62]=0.6337231423679252; randomValueY[63]=0.19984371337284335; randomValueY[64]=0.19334220894181153; randomValueY[65]=0.42648351165619114; randomValueY[66]=0.0020349209904862997; randomValueY[67]=0.26227419862014245; randomValueY[68]=0.010157565396595736; randomValueY[69]=0.32466354319724255; randomValueY[70]=0.2880125699286028; randomValueY[71]=0.942360375989513; randomValueY[72]=0.28692884801712293; randomValueY[73]=0.18075667041036092; randomValueY[74]=0.526829825487406; randomValueY[75]=0.05392345053644676; randomValueY[76]=0.6848072074260566; randomValueY[77]=0.7634213162987096; randomValueY[78]=0.017226310006998813; randomValueY[79]=0.8402985996291047; randomValueY[80]=0.41214609100356114; randomValueY[81]=0.00903342798862894; randomValueY[82]=0.13934521987605275; randomValueY[83]=0.44080857560050446; randomValueY[84]=0.5420034416544178; randomValueY[85]=0.8183907621649894; randomValueY[86]=0.49709491461841304; randomValueY[87]=0.2960190585426765; randomValueY[88]=0.4608082576003252; randomValueY[89]=0.005089578506740633; randomValueY[90]=0.3108158643301907; randomValueY[91]=0.23005689707662969; randomValueY[92]=0.9989728680293828; randomValueY[93]=0.7588548659179764; randomValueY[94]=0.23603371611553747; randomValueY[95]=0.1982727511862804; randomValueY[96]=0.04423243217165507; randomValueY[97]=0.23710549829602878; randomValueY[98]=0.03408034658051773; randomValueY[99]=0.9385290439821878; randomValueY[100]=0.6884926962578499; randomValueY[101]=0.14803546698365633; randomValueY[102]=0.7703636833850115; randomValueY[103]=0.01439471413150828; randomValueY[104]=0.2089671359503994; randomValueY[105]=0.4384925493939328; randomValueY[106]=0.466067663723164; randomValueY[107]=0.9885280557996187; randomValueY[108]=0.4343852116079696; randomValueY[109]=0.4499354044927121; randomValueY[110]=0.3790637460316687; randomValueY[111]=0.7145286684532488; randomValueY[112]=0.2970523498826292; randomValueY[113]=0.15575074519991794; randomValueY[114]=0.33981500752026883; randomValueY[115]=0.9855399747339232; randomValueY[116]=0.621543401362443; randomValueY[117]=0.3432116007462742; randomValueY[118]=0.8180541618673799; randomValueY[119]=0.027883366004455068; randomValueY[120]=0.45081070184878236; randomValueY[121]=0.8533577155496994; randomValueY[122]=0.6460168649513455; randomValueY[123]=0.5780055157336823; randomValueY[124]=0.46048777917596295; randomValueY[125]=0.24207983525545718; randomValueY[126]=0.574011233178295; randomValueY[127]=0.5310197638599929; randomValueY[128]=0.2621701535374652; randomValueY[129]=0.4756887402397726; randomValueY[130]=0.08410532225672551; randomValueY[131]=0.3991230601447665; randomValueY[132]=0.6464545787001537; randomValueY[133]=0.524250367439074; randomValueY[134]=0.13771323020945658; randomValueY[135]=0.06816969003124507; randomValueY[136]=0.06651758347488423; randomValueY[137]=0.965968335289986; randomValueY[138]=0.7828616693306287; randomValueY[139]=0.5906828761391884; randomValueY[140]=0.9130151004091689; randomValueY[141]=0.9658950710812012; randomValueY[142]=0.7969176634278117; randomValueY[143]=0.003585724779986199; randomValueY[144]=0.38108388460809595; randomValueY[145]=0.24225280334829336; randomValueY[146]=0.7905591927051523; randomValueY[147]=0.4089325882708409; randomValueY[148]=0.9802263978904657; randomValueY[149]=0.8836456558655017; for (int k = 0; k < n; k++) { x[k] = randomValue[k]; y[k] = randomValueY[k]; z[k] = System.Math.Sqrt(x[k] * x[k] + y[k] * y[k]); } // Setup the contour plot and its legend AxisXY axis = new AxisXY(chart); Contour contour = new Contour(axis, x, y, z); contour.ContourLegend.IsVisible = true; // Show the input data points as small green circles Data dataPoints = new Data(axis, x, y); dataPoints.DataType = Data.DATA_TYPE_MARKER; dataPoints.MarkerType = Data.MARKER_TYPE_FILLED_CIRCLE; dataPoints.MarkerColor = System.Drawing.Color.FromArgb(0, 255, 0); dataPoints.MarkerSize = 0.5; } public static void Main(string[] argv) { System.Windows.Forms.Application.Run(new ContourEx2()); } }