internal void SetViewportX(Charts.IntRange xRange) { foreach (DictionaryEntry item in this) { if ((item.Value as baseClass.controls.graphPanel).Visible) { (item.Value as baseClass.controls.graphPanel).myGraphObj.myViewportX = xRange; } } }
/// <summary> /// Add a range of samples from the users algorithms to the end of our current list. /// </summary> /// <param name="updates">Chart updates since the last request.</param> protected void SampleRange(List <Chart> updates) { lock (ChartLock) { foreach (var update in updates) { //Create the chart if it doesn't exist already: Chart chart; if (!Charts.TryGetValue(update.Name, out chart)) { chart = new Chart(update.Name); Charts.AddOrUpdate(update.Name, chart); } // for alpha assets chart, we always create a new series instance (step on previous value) var forceNewSeries = update.Name == ChartingInsightManagerExtension.AlphaAssets; //Add these samples to this chart. foreach (var series in update.Series.Values) { if (series.Values.Count > 0) { var thisSeries = chart.TryAddAndGetSeries(series.Name, series.SeriesType, series.Index, series.Unit, series.Color, series.ScatterMarkerSymbol, forceNewSeries); if (series.SeriesType == SeriesType.Pie) { var dataPoint = series.ConsolidateChartPoints(); if (dataPoint != null) { thisSeries.AddPoint(dataPoint); } } else { var values = thisSeries.Values; if ((values.Count + series.Values.Count) <= _job.Controls.MaximumDataPointsPerChartSeries) // check chart data point limit first { //We already have this record, so just the new samples to the end: values.AddRange(series.Values); } else if (!_chartSeriesExceededDataPoints.Contains(chart.Name + series.Name)) { _chartSeriesExceededDataPoints.Add(chart.Name + series.Name); DebugMessage($"Exceeded maximum data points per series, chart update skipped. Chart Name {update.Name}. Series name {series.Name}. " + $"Limit is currently set at {_job.Controls.MaximumDataPointsPerChartSeries}"); } } } } } } }
private void ExecCommandLimpar(object obj) { if (Charts != null) { Charts.Clear(); } DataI = new DateTime(DateTime.Now.Year, 1, 1); DataF = DateTime.Now; PrintBox = Visibility.Collapsed; MainBox = Visibility.Visible; }
public PartialViewResult GunlukSatisPie(int tarih) { ViewBag.tarih = tarih; ViewBag.tarih2 = tarih.FromOADateInt(); if (CheckPerm(Perms.ChartGunlukSatis, PermTypes.Reading) == false) { return(PartialView("Satis/GunlukSatisPie", new List <ChartGunlukSatisAnalizi>())); } var liste = new Charts(db, vUser.SirketKodu).ChartGunlukSatisAnalizi(tarih); return(PartialView("Satis/GunlukSatisPie", liste)); }
public PartialViewResult BolgeBazliSatisAnaliziPie(int ay, string kriter) { ViewBag.Ay = ay; ViewBag.Kriter = kriter; if (CheckPerm(Perms.ChartBolgeBazliSatisAnalizi, PermTypes.Reading) == false) { return(PartialView("Satis/BolgeBazliSatisAnaliziPie", new List <ChartBolgeBazliSatisAnalizi>())); } var liste = new Charts(db, vUser.SirketKodu).ChartBolgeBazliSatisAnalizi(ay, kriter); return(PartialView("Satis/BolgeBazliSatisAnaliziPie", liste)); }
public Charts GetDashboard() { var lst = Helpers.ChartsHelper.GetRandomSurvey(); var charts = new Charts() { lstCharts1 = Helpers.ChartsHelper.SetDataForChart1(lst), lstCharts2 = Helpers.ChartsHelper.SetDataForChart2(lst), lstCharts3 = Helpers.ChartsHelper.SetDataForChart3(lst) }; return(charts); }
public PartialViewResult BaglantiZamanCizelgesi() { if (CheckPerm(Perms.ChartBaglantiZamanCizelgesi, PermTypes.Reading) == false) { return(PartialView("Satis/BaglantiZamanCizelgesi", new List <ChartBaglantiZaman>())); } List <ChartBaglantiZaman> liste; liste = new Charts(db, vUser.SirketKodu).ChartBaglantiZaman(); return(PartialView("Satis/BaglantiZamanCizelgesi", liste)); }
public PartialViewResult SatisTemsilcisiAylikSatisAnalizi(string kod, int tarih) { ViewBag.Tarih = tarih; ViewBag.Kriter = kod; if (CheckPerm(Perms.ChartSatisTemsilcisiAylikSatisAnalizi, PermTypes.Reading) == false) { return(PartialView("Satis/SatisTemsilcisi_AylikSatisAnalizi", new List <ChartSatisTemsilcisiAylikSatisAnalizi>())); } var liste = new Charts(db, vUser.SirketKodu).SatisTemsilcisiAylikSatisAnalizi(tarih, kod); return(PartialView("Satis/SatisTemsilcisi_AylikSatisAnalizi", liste)); }
/// <summary> /// Raises the <see cref="Updated"/> event. /// </summary> /// <remarks> /// <para> /// <strong>Notes to Inheritors:</strong> When overriding <see cref="OnUpdate"/> in a /// derived class, be sure to call the base class's <see cref="OnUpdate"/> method so that /// registered delegates receive the event. /// </para> /// </remarks> protected virtual void OnUpdate() { var xAxis = XAxis; var yAxis = YAxis; var charts = Charts.ToArray(); // Update data sources. foreach (var chart in charts) { // Ensure that the correct axes are used. if (xAxis != null && chart.XAxis != xAxis) { chart.XAxis = xAxis; } if (yAxis != null && chart.YAxis != yAxis) { chart.YAxis = yAxis; } chart.UpdateDataSource(); } #if DEBUG if (!WindowsHelper.IsInDesignMode && charts.All(c => c.IsValid && c.XAxis != null && c.YAxis != null)) { // Validate data. // But only // - in DEBUG mode // (for performance reasons) // - at runtime // (Do not validate the data in Visual Studio Designer or Expression Blend, because // designers often create invalid intermediate states. If we would throw an exception // every time ValidateData() fails we would break the designer.) // - when all charts are valid // (Silverlight is often very lazy when resolving bindings. Therefore, charts can be // invalid, even if everything is set correctly in XAML.) ValidateData(); } #endif // Draw charts. foreach (var chart in charts) { chart.Update(); } var handler = Updated; if (handler != null) { handler(this, EventArgs.Empty); } }
public override void AcceptVisitor(IVisitor visitor) { base.AcceptVisitor(visitor); if (!IsLoaded) { return; } _usedBuildingBlocks.Each(x => x.AcceptVisitor(visitor)); Model?.AcceptVisitor(visitor); SimulationSettings?.AcceptVisitor(visitor); Charts.Each(x => x.AcceptVisitor(visitor)); }
/// <summary> /// Accion que se produce cuando se elimina un elemento. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void removeMenuItem_Click(object sender, EventArgs e) { var item = sender as MenuItem; var element = item.Tag as ChartElement; if (element is BeginChartElement) { this.Charts.First = null; } Charts.Remove(element); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value != null && value.GetType() == typeof(string)) { int xpToLevel = Charts.GetXPToLevel(value as string); if (xpToLevel > -1) { return(xpToLevel.ToString()); } } return("???"); }
private FormattedText GetXHeader(double x) { var first = Charts.First(); // x地点を表す時刻 var xtime = TimeSpan.FromTicks((long)(XRange.Ticks / first.GWidth * (x - Util.MarginLeft))); // x地点を表す日付 var xdate = XBeginDate + XBeginTime + xtime; var xheader = ScaleType == DateOrTimeType.DateTime ? $"{string.Format(XDateFormat3, xdate)}" : $"{string.Format(XTimeFormat3, xtime)}"; return(Util.GetFormattedText(xheader, Util.RightClickBrush, this)); }
public PartialViewResult BakiyeRiskAnalizi() { if (CheckPerm(Perms.ChartBakiyeRiskAnalizi, PermTypes.Reading) == false) { return(PartialView("Satis/BakiyeRiskAnalizi", new List <DB_BakiyeRiskAnalizi>())); } var liste = dbl.DB_BakiyeRiskAnalizi.Where(m => m.DB == vUser.SirketKodu).ToList(); if (liste.Count == 0) { liste = new Charts(db, vUser.SirketKodu).BakiyeRiskAnalizi(); } return(PartialView("Satis/BakiyeRiskAnalizi", liste)); }
private void ShowFirstBookmarkChildren() { var bookmark = bookmarkStrip.GetFirstBookmark(); BookmarkStorage.Instance.CurrentBookmarkId = bookmark.Id; Charts.ForEach(c => { if (c.bookmarkId == bookmark.Id) { c.SavePlacement(); } }); ShowBookmarkChildren(bookmark); }
public PartialViewResult GunlukSatisDoubleKriterPie(string kod, int islemtip, int tarih) { ViewBag.IslemTip = islemtip; ViewBag.Kriter = kod; ViewBag.tarih = tarih; ViewBag.tarih2 = tarih.FromOADateInt(); if (CheckPerm(Perms.ChartGunlukSatis, PermTypes.Reading) == false) { return(PartialView("Satis/GunlukSatisAnaliziDoubleKriterPie", new List <ChartGunlukSatisAnalizi>())); } var liste = new Charts(db, vUser.SirketKodu).ChartGunlukSatisAnalizi(kod, islemtip, tarih); return(PartialView("Satis/GunlukSatisAnaliziDoubleKriterPie", liste)); }
public PartialViewResult GunlukSatisYearToDayPie() { if (CheckPerm(Perms.ChartGunlukSatis, PermTypes.Reading) == false) { return(PartialView("PartialGunlukSatisYearToDayPie", new List <DB_GunlukSatisAnaliziYearToDay>())); } var liste = dbl.DB_GunlukSatisAnaliziYearToDay.Where(m => m.DB == vUser.SirketKodu).ToList(); if (liste.Count == 0) { liste = new Charts(db, vUser.SirketKodu).ChartYear2Day(); } return(PartialView("Satis/GunlukSatısAnaliziYearToDayPie", liste)); }
public PartialViewResult AylikSatisAnaliziBar() { if (CheckPerm(Perms.ChartAylikSatisAnaliziBar, PermTypes.Reading) == false) { return(PartialView("Satis/AylikSatisAnaliziBar", new List <DB_Aylik_SatisAnalizi>())); } var liste = dbl.DB_Aylik_SatisAnalizi.Where(m => m.DB == vUser.SirketKodu).ToList(); if (liste.Count == 0) { liste = new Charts(db, vUser.SirketKodu).ChartMonthly(); } return(PartialView("Satis/AylikSatisAnaliziBar", liste)); }
/// <summary> /// Add a range of samples from the users algorithms to the end of our current list. /// </summary> /// <param name="updates">Chart updates since the last request.</param> public void SampleRange(List <Chart> updates) { lock (_chartLock) { foreach (var update in updates) { //Create the chart if it doesn't exist already: if (!Charts.ContainsKey(update.Name)) { Charts.AddOrUpdate(update.Name, new Chart(update.Name)); } //Add these samples to this chart. foreach (var series in update.Series.Values) { //If we don't already have this record, its the first packet var chart = Charts[update.Name]; var thisSeries = chart.TryAddAndGetSeries(series.Name, series.SeriesType, series.Index, series.Unit, series.Color, series.ScatterMarkerSymbol); if (series.Values.Count > 0) { if (series.SeriesType == SeriesType.Pie) { var dataPoint = series.ConsolidateChartPoints(); if (dataPoint != null) { thisSeries.AddPoint(dataPoint); } } else { var values = chart.Series[series.Name].Values; if ((values.Count + series.Values.Count) <= _job.Controls.MaximumDataPointsPerChartSeries) // check chart data point limit first { //We already have this record, so just the new samples to the end: values.AddRange(series.Values); } else if (!_chartSeriesExceededDataPoints.Contains(chart.Name + series.Name)) { _chartSeriesExceededDataPoints.Add(chart.Name + series.Name); DebugMessage($"Exceeded maximum data points per series, chart update skipped. Chart Name {update.Name}. Series name {series.Name}. " + $"Limit is currently set at {_job.Controls.MaximumDataPointsPerChartSeries}"); } } } } } } }
private void ExecuteCommandLimpar(object param) { Rel.Reset(); Charts.Clear(); DateI = new DateTime(DateTime.Now.Year, 1, 1); DateF = DateTime.Now; ViewFiltros = string.Empty; getSituacao = 0; getOrigem = 0; ViewFiltros = string.Empty; FlowDoc = null; MainBox = Visibility.Visible; PrintBox = Visibility.Collapsed; }
public async Task <IActionResult> Create([Bind("ID,Type,Gender,Age,LifeExpectancy,StoreId,img")] Pets pets) { if (HttpContext.Session.GetString("Type") == null || HttpContext.Session.GetString("Type") == "user") { ViewBag.message = "Log in"; } else { ViewBag.message = null; ViewBag.message2 = "Hi " + HttpContext.Session.GetString("userName").ToString() + " Log out"; } if (HttpContext.Session.GetString("Type") == "admin") { ViewBag.msg = "Customer"; } else if (HttpContext.Session.GetString("Type") == "Owner") { ViewBag.MyPets = "My Pets"; } else if (HttpContext.Session.GetString("Type") == "userRegistered") { ViewBag.wish = "wish list"; } if (ModelState.IsValid) { _context.Add(pets); await _context.SaveChangesAsync(); var user = _context.Charts.FirstOrDefault(u => u.Type == pets.Type); if (user == null) { Charts newChart = new Charts(); newChart.Type = pets.Type; newChart.Counter = 0; _context.Charts.Add(newChart); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } if (HttpContext.Session.GetInt32(pets.Type) == null) { HttpContext.Session.SetInt32(pets.Type, 0); } ViewBag.userId = HttpContext.Session.GetInt32("userID"); ViewBag.Type = HttpContext.Session.GetString("Type"); ViewBag.Id = HttpContext.Session.GetString("userID"); ViewData["StoreId"] = new SelectList(_context.Set <Stores>(), "ID", "ID", pets.StoreId); return(View(pets)); }
public static void GeneratePlot(AzureExperimentManager aeMan, Tags tags, string prefix, ComparableExperiment refE, int refId, int id, string outputPath) { Console.WriteLine("Generating plot for #{0}...", id); System.Diagnostics.Debug.Print("Starting task for job #{0}", id); ComparableExperiment e = Helpers.GetComparableExperiment(id, aeMan).Result; Comparison cmp = new Comparison(refE, e, prefix.Replace('|', '/'), tags); Chart chart = Charts.BuildComparisonChart(prefix, cmp); chart.SaveImage(Path.Combine(outputPath, String.Format("{0}-{1}.png", refId, id)), ChartImageFormat.Png); e = null; cmp = null; chart = null; System.GC.Collect(); System.Diagnostics.Debug.Print("Ending task for job #{0}", id); }
public Chart AddChart(string symbol, ChartTypeEnum chartType, ChartTimeFrameEnum timeFrame, string name) { var comodityInfo = Market.GetCommodityInformation(symbol); var chart = new Chart(comodityInfo, chartType, timeFrame, Market, name); if (!Charts.ContainsKey(symbol)) { Charts.Add(symbol, new List <Chart>()); lastDataTimes.Add(symbol, DataStartTime); } Charts[symbol].Add(chart); return(chart); }
private void HandleUnloadCommand() { MessageBoxResult result = MessageBox.Show("Are you sure remove selected charts?", string.Empty, MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { ChartMessage message = new ChartMessage(selectedItems); Messenger.Default.Send <ChartMessage>(message, "UnloadCharts"); for (int i = selectedItems.Count - 1; i >= 0; i--) { ChartItem chart = selectedItems[i]; Charts.Remove(chart); } } }
public PartialViewResult UrunGrubuSatis(int tarih) { ViewBag.Tarih = tarih; if (CheckPerm(Perms.ChartUrunGrubuSatis, PermTypes.Reading) == false) { return(PartialView("Satis/UrunGrubuSatis", new List <DB_UrunGrubu_SatisAnalizi>())); } var liste = dbl.DB_UrunGrubu_SatisAnalizi.Where(m => m.DB == vUser.SirketKodu && m.Ay == tarih).ToList(); if (liste.Count == 0) { liste = new Charts(db, vUser.SirketKodu).ChartUrunGrubu(tarih); } return(PartialView("Satis/UrunGrubuSatis", liste)); }
protected void Page_Load(object sender, EventArgs e) { string CategoryTheme = "CoThemeOptional"; string statusPeriod = General.GetUserDefinedPeriod().Substring(2, 2); DataTable dtCoOptionalRial = BiDatabaseHandler.GetDataCoOptionalRial1(statusPeriod); Highcharts ChartLineCoOptionalRial = Charts.GetChartLine(dtCoOptionalRial, CategoryTheme, "ChartBarCoOptionalRial"); ltrChartLineCoOptionalRial.Text = ChartLineCoOptionalRial.ToHtmlString(); CategoryTheme = "CoThemeOptional"; DataTable dtCoOptionalWeight = BiDatabaseHandler.GetDataCoOptionalWeight1(statusPeriod); Highcharts ChartLineCoOptionalWeight = Charts.GetChartLine(dtCoOptionalWeight, CategoryTheme, "ChartBarCoOptionalWeight"); ltrChartLineCoOptionalWeight.Text = ChartLineCoOptionalWeight.ToHtmlString(); }
public PartialViewResult BaglantiUrunGrubuPie() { if (CheckPerm(Perms.ChartBaglantiUrunGrubu, PermTypes.Reading) == false) { return(PartialView("Satis/BaglantiUrunGrubuPie", new List <DB_SatisBaglanti_UrunGrubu>())); } var liste = dbl.DB_SatisBaglanti_UrunGrubu.Where(m => m.DB == vUser.SirketKodu).ToList(); if (liste.Count == 0) { liste = new Charts(db, vUser.SirketKodu).BaglantiUrunGrubu(); } return(PartialView("Satis/BaglantiUrunGrubuPie", liste)); }
public SendConsecutive(Charts chart) { if (chart.Price.Contains(".") && double.TryParse(chart.Price, out double fPrice)) { Price = fPrice; } else if (int.TryParse(chart.Price, out int sPrice)) { Price = sPrice; } Date = chart.Date; Volume = chart.Volume; }
/// <summary> /// Dispose resources /// </summary> public override Task Disconnect() { Unsubscribe(); StateStream.OnNext(StatusEnum.Disconnection); Gateways.ForEach(o => o.Disconnect()); Gateways.Clear(); Charts.Clear(); _connections.ForEach(o => o.Dispose()); _connections.Clear(); return(Task.FromResult(0)); }
public SendConsecutive(Charts chart) { if (int.TryParse(chart.Price, out int stocks)) { Price = stocks; } else if (double.TryParse(chart.Price, out double futures)) { Price = futures; } Date = CheckTheSAT(chart.Date); Volume = chart.Volume; }
/// <summary> /// Creates a new instance /// </summary> public BacktestingResultHandler() { ResamplePeriod = TimeSpan.FromMinutes(4); NotificationPeriod = TimeSpan.FromSeconds(2); _chartSeriesExceededDataPoints = new HashSet <string>(); // Delay uploading first packet _nextS3Update = StartTime.AddSeconds(30); //Default charts: Charts.AddOrUpdate("Strategy Equity", new Chart("Strategy Equity")); Charts["Strategy Equity"].Series.Add("Equity", new Series("Equity", SeriesType.Candle, 0, "$")); Charts["Strategy Equity"].Series.Add("Daily Performance", new Series("Daily Performance", SeriesType.Bar, 1, "%")); }
private CurveItem PlotCandleStick(string curveName, Charts.Controls.baseGraphPanel graphPane, AnalysisData data, Color barUpColor,Color barDnColor,Color bullCandleColor,Color bearCandleColor) { graphPane.myGraphObj.SetSeriesX(data.DateTime.Values, Charts.AxisType.DateAsOrdinal); CurveItem curveItem = graphPane.myGraphObj.AddCandleStick(curveName, MakeChartValue(data.High), MakeChartValue(data.Low), MakeChartValue(data.Open), MakeChartValue(data.Close), MakeChartValue(data.Volume), barUpColor,barDnColor,bullCandleColor,bearCandleColor); myCurveList.Add(curveItem, curveName, graphPane.myGraphObj.myGraphPane, graphPane.Name); return curveItem; }
private CurveItem PlotCurveLine(string curveName,Charts.Controls.baseGraphPanel graphPane, DataSeries xSeries, DataSeries ySeries, Color color, int weight) { graphPane.myGraphObj.SetSeriesX(xSeries.Values, Charts.AxisType.DateAsOrdinal); CurveItem curveItem = graphPane.myGraphObj.AddCurveLine(curveName, MakeChartValue(ySeries), SymbolType.Default, color, weight); myCurveList.Add(curveItem, curveName, graphPane.myGraphObj.myGraphPane, graphPane.Name); return curveItem; }
/// <summary> /// Synchronize charts /// </summary> /// <param name="sender"></param> /// <param name="state"></param> private void Chart_OnViewportChanged(object sender, Charts.ViewportState state) { if (pricePanel.Visible) pricePanel.myGraphObj.myViewportX = state.xRange; if (volumePanel.Visible) volumePanel.myGraphObj.myViewportX = state.xRange; if (newPanel.Visible) newPanel.myGraphObj.myViewportX = state.xRange; }
public static void Main(string[] args) { if (args.Length < 1) { Console.WriteLine("Usage: profi.exe path-to-data-files"); return; } string path = args[0]; Console.WriteLine("Calculating..."); List<FileInfo> files = new List<FileInfo>(); foreach (string file_name in Directory.EnumerateFiles(path, "*.txt")) { var parts = Path.GetFileName(file_name).Split("-".ToCharArray()); int thread_id = Convert.ToInt32(parts[0]); string name = parts[1].Substring(0, parts[1].Length-4); string data = File.ReadAllText(file_name); var file = new FileInfo() { ThreadId = thread_id, Name = name, Points = new List<DataPoint>(), CreationDate = File.GetCreationTime(file_name) }; files.Add(file); foreach(var line in data.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) { parts = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); file.Points.Add(new DataPoint() { TimePoint = Convert.ToDateTime(parts[0], CultureInfo.InvariantCulture), MemoryPoint = Convert.ToDouble(parts[1]) }); } } List<ThreadsStats> thread_stats = new List<ThreadsStats>(); foreach(var _group in files.GroupBy(f => f.ThreadId)) { FileInfo prev = _group.OrderBy(f => f.Name).First(); ThreadsStats stats = new ThreadsStats(){ ThreadId = _group.First().ThreadId, ChartPoints = new List<ChartPoint>() }; foreach (var gf in _group.OrderBy(f => f.Name)) { int count = 0; double delta_time_ms_sum = 0; double memory_byte_sum = 0; List<MixedPoint> mixed = new List<MixedPoint>(); mixed.AddRange(prev.Points.Select(f => new MixedPoint() { IsCurrent = false, Point = new DataPoint(){ TimePoint = f.TimePoint, MemoryPoint = f.MemoryPoint} })); mixed.AddRange(gf.Points.Select(f => new MixedPoint() { IsCurrent = true, Point = new DataPoint(){ TimePoint = f.TimePoint, MemoryPoint = f.MemoryPoint} })); mixed = mixed.OrderBy(f => f.Point.TimePoint).ToList(); MixedPoint prev_p = null; foreach(var p in mixed) { if(p.IsCurrent) { memory_byte_sum += p.Point.MemoryPoint; } if(prev_p != null && p.IsCurrent) { count++; delta_time_ms_sum += (p.Point.TimePoint - prev_p.Point.TimePoint).TotalMilliseconds; } if(!p.IsCurrent) { prev_p = p; } else { prev_p = null; } } stats.ChartPoints.Add(new ChartPoint() { Name = gf.Name, Memory = mixed.Any(f => f.IsCurrent) ? memory_byte_sum / mixed.Count(f => f.IsCurrent) : 0, TimeDelta = count > 0 ? delta_time_ms_sum / count : 0 }); thread_stats.Add(stats); prev = gf; } } List<ChartPoint> final_data = thread_stats.SelectMany(f => f.ChartPoints) .GroupBy(f => f.Name) .Select(f => new ChartPoint() { Name = f.First().Name, TimeDelta = f.Average(z => z.TimeDelta) / 1000, Memory = f.Average(z => z.Memory) / 1048576 }) .OrderBy(f => f.Name).ToList(); Console.WriteLine("Done..."); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var chart = new Charts(); chart.BindAndShow(final_data); Application.Run(chart); }
/// <summary> /// Insert a chart into the currently selected worksheet. /// </summary> /// <param name="Chart">An SLChart object with the chart's properties already set.</param> /// <returns>True if successful. False otherwise.</returns> public bool InsertChart(Charts.SLChart Chart) { slws.Charts.Add(Chart.Clone()); return true; }
private CurveItem PlotCandleStick(string curveName, Charts.Controls.baseGraphPanel graphPane, application.AnalysisData data, Color barUpColor, Color barDnColor, Color bullCandleColor, Color bearCandleColor) { pricePane.myGraphObj.SetSeriesX(data.DateTime.Values, Charts.AxisType.DateAsOrdinal); CurveItem curveItem = graphPane.myGraphObj.AddCandleStick(curveName, data.High.Values, data.Low.Values, data.Open.Values, data.Close.Values, data.Volume.Values, barUpColor, barDnColor, bullCandleColor, bearCandleColor); return curveItem; }
private CurveItem PlotCurveLine(string curveName, Charts.Controls.baseGraphPanel graphPane, commonClass.DataSeries xSeries, commonClass.DataSeries ySeries, Color color, int weight) { pricePane.myGraphObj.SetSeriesX(xSeries.Values, Charts.AxisType.DateAsOrdinal); CurveItem curveItem = graphPane.myGraphObj.AddCurveLine(curveName, ySeries.Values, SymbolType.None, color, weight); return curveItem; }
/// <summary> /// Insert a chart into a chartsheet. /// </summary> /// <param name="Chart">An SLChart object with the chart's properties already set.</param> /// <param name="ChartsheetName">The name should not be blank, nor exceed 31 characters. And it cannot contain these characters: \/?*[] It cannot be the same as an existing name (case-insensitive). But there's nothing stopping you from using 3 spaces as a name.</param> /// <returns>True if successful. False otherwise.</returns> public bool InsertChart(Charts.SLChart Chart, string ChartsheetName) { if (!SLTool.CheckSheetChartName(ChartsheetName)) { return false; } foreach (SLSheet sheet in slwb.Sheets) { if (sheet.Name.Equals(ChartsheetName, StringComparison.OrdinalIgnoreCase)) { return false; } } ChartsheetPart csp = wbp.AddNewPart<ChartsheetPart>(); #region the drawing part DrawingsPart dp = csp.AddNewPart<DrawingsPart>(); dp.WorksheetDrawing = new Xdr.WorksheetDrawing(); ChartPart chartp = dp.AddNewPart<ChartPart>(); chartp.ChartSpace = Chart.ToChartSpace(ref chartp); Xdr.AbsoluteAnchor absanchor = new Xdr.AbsoluteAnchor(); absanchor.Append(new Xdr.Position() { X = 0, Y = 0 }); // The paper size is involved. The default is Letter, which is 11 inch by 8.5 inch // with landscape orientation. // The page margin is also involved. In particular, the left and right margins for // the width, and top and bottom margins for the height. // We're using the "default" margin settings, which is // left=0.7, right=0.7, top=0.75, bottom=0.75 // Excel also has a buffer of 0.12 inches around the sides... // And so, // 8668512 = (11 - 0.7 - 0.7 - 0.12) * 914400 // 6291072 = (8.5 - 0.75 - 0.75 - 0.12) * 914400 absanchor.Append(new Xdr.Extent() { Cx = 8668512, Cy = 6291072 }); Xdr.GraphicFrame gf = new Xdr.GraphicFrame() { Macro = "" }; gf.NonVisualGraphicFrameProperties = new Xdr.NonVisualGraphicFrameProperties(); gf.NonVisualGraphicFrameProperties.NonVisualDrawingProperties = new Xdr.NonVisualDrawingProperties() { Id = 2, Name = Chart.ChartName }; gf.NonVisualGraphicFrameProperties.NonVisualGraphicFrameDrawingProperties = new Xdr.NonVisualGraphicFrameDrawingProperties() { GraphicFrameLocks = new A.GraphicFrameLocks() { NoGrouping = true } }; gf.Transform = new Xdr.Transform() { Offset = new A.Offset() { X = 0, Y = 0 }, Extents = new A.Extents() { Cx = 0, Cy = 0 } }; gf.Graphic = new A.Graphic(); gf.Graphic.GraphicData = new A.GraphicData(); gf.Graphic.GraphicData.Uri = SLConstants.NamespaceC; gf.Graphic.GraphicData.Append(new C.ChartReference() { Id = dp.GetIdOfPart(chartp) }); absanchor.Append(gf); absanchor.Append(new Xdr.ClientData()); dp.WorksheetDrawing.Append(absanchor); #endregion #region the chartsheet part csp.Chartsheet = new Chartsheet(); csp.Chartsheet.ChartSheetProperties = new ChartSheetProperties(); csp.Chartsheet.ChartSheetViews = new ChartSheetViews(); csp.Chartsheet.ChartSheetViews.Append(new ChartSheetView() { WorkbookViewId = 0 }); csp.Chartsheet.PageMargins = new PageMargins() { Left = SLConstants.NormalLeftMargin, Right = SLConstants.NormalRightMargin, Top = SLConstants.NormalTopMargin, Bottom = SLConstants.NormalBottomMargin, Header = SLConstants.NormalHeaderMargin, Footer = SLConstants.NormalFooterMargin }; csp.Chartsheet.Drawing = new DocumentFormat.OpenXml.Spreadsheet.Drawing() { Id = csp.GetIdOfPart(dp) }; #endregion ++giWorksheetIdCounter; slwb.Sheets.Add(new SLSheet(ChartsheetName, (uint)giWorksheetIdCounter, wbp.GetIdOfPart(csp), SLSheetType.Chartsheet)); return true; }
public Preferences() { charts = new Charts(); }