public ChartForm(ChartDataType chartDataType, List <DataTable> dataTables) { this._chartDataType = chartDataType; this._dataTables = dataTables; InitializeComponent(); _toolTip = new ToolTip(); }
private string GetChartSeriesName(ChartDataType chartDataType) { if (chartDataType == ChartDataType.All) { return(string.Empty); } switch (chartDataType) { case ChartDataType.DailyAnnualReturnsRate: return("年化收益率(%)"); case ChartDataType.DailyAvgAnnualReturnsRate: return("平均年化收益率(%)"); case ChartDataType.TotalGrowthRate: return("资产增长率(%)"); default: return(string.Empty); } }
private string GetChartSeriesName(ChartDataType chartDataType, int dataTableIndex) { if (chartDataType != ChartDataType.All) { return(string.Empty); } switch (dataTableIndex) { case 0: return("年化收益率(%)"); case 1: return("平均年化收益率(%)"); case 2: return("资产增长率(%)"); default: return(string.Empty); } }
public ChartArgumentAxisBuilder ArgumentType(ChartDataType value) { base.Options["argumentType"] = value; return(this); }
public PieChartCommonSeriesSettingsBuilder ArgumentType(ChartDataType value) { base.Options["argumentType"] = value; return(this); }
public ChartData(ChartDataType dataType) { DataType = dataType; Title = TranslationSource.Instance[DataType.ToString()]; }
public ChartValueAxisBuilder ValueType(ChartDataType value) { base.Options["valueType"] = value; return(this); }
private void btnGenDiagram_Click(object sender, EventArgs e) { ChartDataType chartDataType = ChartDataType.All; _dataTables = new List <DataTable>(); DataTable dt1, dt2, dt3; switch (this.cmbDiagramIndicator.SelectedIndex) { case 0: //合并 chartDataType = ChartDataType.All; dt1 = new DataTable(); dt1.Columns.Add("Date", typeof(string)); dt1.Columns.Add("Rate", typeof(decimal)); dt2 = new DataTable(); dt2.Columns.Add("Date", typeof(string)); dt2.Columns.Add("Rate", typeof(decimal)); dt3 = new DataTable(); dt3.Columns.Add("Date", typeof(string)); dt3.Columns.Add("Rate", typeof(decimal)); foreach (var item in this._dailyStatuses) { if (this._reportDateFreq == DateFrequency.Daily || (this._reportDateFreq == DateFrequency.Monthly && item.Date.Day == 1)) { dt1.Rows.Add(item.Date.ToString("yyyy-MM-dd"), Decimal.Parse(string.Format(DecimalFormat, item.CurrentDayReturnsRate * 100))); dt2.Rows.Add(item.Date.ToString("yyyy-MM-dd"), Decimal.Parse(string.Format(DecimalFormat, item.CurrentAverageAnnualReturnsRate * 100))); dt3.Rows.Add(item.Date.ToString("yyyy-MM-dd"), Decimal.Parse(string.Format(DecimalFormat, item.CurrentTotalGrowthRate * 100))); } } _dataTables.Add(dt1); _dataTables.Add(dt2); _dataTables.Add(dt3); break; case 1: //每日年化收益率 chartDataType = ChartDataType.DailyAnnualReturnsRate; dt1 = new DataTable(); dt1.Columns.Add("Date", typeof(string)); dt1.Columns.Add("Rate", typeof(decimal)); foreach (var item in this._dailyStatuses) { if (this._reportDateFreq == DateFrequency.Daily || (this._reportDateFreq == DateFrequency.Monthly && item.Date.Day == 1)) { dt1.Rows.Add(item.Date.ToString("yyyy-MM-dd"), Decimal.Parse(string.Format(DecimalFormat, item.CurrentDayReturnsRate * 100))); } } _dataTables.Add(dt1); break; case 2: //每日平均年化收益率 chartDataType = ChartDataType.DailyAvgAnnualReturnsRate; dt2 = new DataTable(); dt2.Columns.Add("Date", typeof(string)); dt2.Columns.Add("Rate", typeof(decimal)); foreach (var item in this._dailyStatuses) { if (this._reportDateFreq == DateFrequency.Daily || (this._reportDateFreq == DateFrequency.Monthly && item.Date.Day == 1)) { dt2.Rows.Add(item.Date.ToString("yyyy-MM-dd"), Decimal.Parse(string.Format(DecimalFormat, item.CurrentAverageAnnualReturnsRate * 100))); } } _dataTables.Add(dt2); break; case 3: //资产增长率 chartDataType = ChartDataType.TotalGrowthRate; dt3 = new DataTable(); dt3.Columns.Add("Date", typeof(string)); dt3.Columns.Add("Rate", typeof(decimal)); foreach (var item in this._dailyStatuses) { if (this._reportDateFreq == DateFrequency.Daily || (this._reportDateFreq == DateFrequency.Monthly && item.Date.Day == 1)) { dt3.Rows.Add(item.Date.ToString("yyyy-MM-dd"), Decimal.Parse(string.Format(DecimalFormat, item.CurrentTotalGrowthRate * 100))); } } _dataTables.Add(dt3); break; default: break; } (new ChartForm(chartDataType, _dataTables)).ShowDialog(); }
private static ChartDataType[] GetChartedData(IEnumerable <ChartDataType> datas, ViewTypeEnum viewType, bool isUseName, bool isUseDateNameInChart = false) { var dic = new Dictionary <string, ChartDataType>(); foreach (var data in datas) { DateTime date; string dateName; switch (viewType) { case ViewTypeEnum.Hours: date = new DateTime(data.DateTime.Year, data.DateTime.Month, data.DateTime.Day, data.DateTime.Hour, 0, 0); dateName = string.Format("{0}.{1:00}.{2:00} {3}h", data.DateTime.Year, data.DateTime.Month, data.DateTime.Day, data.DateTime.Hour); break; case ViewTypeEnum.Days: date = new DateTime(data.DateTime.Year, data.DateTime.Month, data.DateTime.Day); dateName = string.Format("{0}.{1:00}.{2:00}", data.DateTime.Year, data.DateTime.Month, data.DateTime.Day); break; case ViewTypeEnum.Weeks: date = new DateTime(data.DateTime.Year, data.DateTime.Month, data.DateTime.Day / 7 + 1); dateName = string.Format("{0}.{1:00}.{2}w", data.DateTime.Year, data.DateTime.Month, data.DateTime.Day / 7 + 1); break; case ViewTypeEnum.Months: date = new DateTime(data.DateTime.Year, data.DateTime.Month, 1); dateName = string.Format("{0}.{1:00}", data.DateTime.Year, data.DateTime.Month); break; case ViewTypeEnum.Years: date = new DateTime(data.DateTime.Year, 1, 1); dateName = string.Format("{0}", data.DateTime.Year); break; default: throw new ArgumentOutOfRangeException("viewType", viewType, null); } var key = data.Name + dateName; if (dic.ContainsKey(key)) { dic[key].DateTime = date; dic[key].Name = isUseDateNameInChart ? dateName : data.Name; dic[key].Price += data.Price; dic[key].Count += data.Count; dic[key].DateName = dateName; dic[key].CodeBar = data.CodeBar; } else { dic[key] = new ChartDataType { DateTime = date, Name = isUseDateNameInChart ? dateName : data.Name, Price = data.Price, Count = data.Count, DateName = dateName, CodeBar = data.CodeBar }; } } return(dic.Select(pair => pair.Value).OrderBy(d => d.DateTime).ToArray()); }
public static ILogChart GetLogChart(ChartDataType type) { return((ILogChart)Activator.CreateInstance(LogChartDict[type])); }
public RangeSelectorScaleBuilder ValueType(ChartDataType value) { base.Options["valueType"] = value; return(this); }