Changeset 12882 for branches/BubbleChart/HeuristicLab.Optimization.BubbleChart/3.3/BubbleChartView.cs
- Timestamp:
- 08/19/15 13:27:06 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/BubbleChart/HeuristicLab.Optimization.BubbleChart/3.3/BubbleChartView.cs
r12881 r12882 197 197 chart.ChartAreas[0].AxisY.IsMarginVisible = !(YAxisValue != null && YAxisValue.Contains(AxisDimension.Index.ToString())); 198 198 199 if (Content == null || string.IsNullOrEmpty(XAxisValue) || string.IsNullOrEmpty(YAxisValue)) return; 200 201 var xss = GetValues(XAxisValue); 202 var yss = GetValues(YAxisValue); 203 204 if (xss.Count == yss.Count) { 205 for (int i = 0; i < xss.Count; i++) 206 AddPoints(xss[i], yss[i], series); 207 } else if (xss.Count == 1 || yss.Count == 1) { 208 for (int i = 0; i < xss.Count; i++) 209 for (int j = 0; j < yss.Count; j++) 210 AddPoints(xss[i], yss[j], series); 199 if (Content != null && !string.IsNullOrEmpty(XAxisValue) && !string.IsNullOrEmpty(YAxisValue)) { 200 var xss = GetValues(XAxisValue); 201 var yss = GetValues(YAxisValue); 202 203 if (xss.Count == yss.Count) { 204 for (int i = 0; i < xss.Count; i++) 205 AddPoints(xss[i], yss[i], series); 206 } else if (xss.Count == 1 || yss.Count == 1) { 207 for (int i = 0; i < xss.Count; i++) 208 for (int j = 0; j < yss.Count; j++) 209 AddPoints(xss[i], yss[j], series); 210 } 211 } 212 213 if (chart.Series[0].Points.Count == 0) { 214 noDataLabel.Visible = true; 215 } else { 216 noDataLabel.Visible = false; 217 UpdateMarkerSizes(); 218 UpdateCursorInterval(); 211 219 } 212 220 … … 520 528 } 521 529 } 530 private void UpdateCursorInterval() { 531 double xMin = double.MaxValue; 532 double xMax = double.MinValue; 533 double yMin = double.MaxValue; 534 double yMax = double.MinValue; 535 536 foreach (var point in chart.Series[0].Points) { 537 if (point.IsEmpty) continue; 538 if (point.XValue < xMin) xMin = point.XValue; 539 if (point.XValue > xMax) xMax = point.XValue; 540 if (point.YValues[0] < yMin) yMin = point.YValues[0]; 541 if (point.YValues[0] > yMax) yMax = point.YValues[0]; 542 } 543 544 double xRange = 0.0; 545 double yRange = 0.0; 546 if (xMin != double.MaxValue && xMax != double.MinValue) xRange = xMax - xMin; 547 if (yMin != double.MaxValue && yMax != double.MinValue) yRange = yMax - yMin; 548 549 if (xRange.IsAlmost(0.0)) xRange = 1.0; 550 if (yRange.IsAlmost(0.0)) yRange = 1.0; 551 double xDigits = (int)Math.Log10(xRange) - 3; 552 double yDigits = (int)Math.Log10(yRange) - 3; 553 double xZoomInterval = Math.Pow(10, xDigits); 554 double yZoomInterval = Math.Pow(10, yDigits); 555 this.chart.ChartAreas[0].CursorX.Interval = xZoomInterval; 556 this.chart.ChartAreas[0].CursorY.Interval = yZoomInterval; 557 558 // TODO 559 //code to handle TimeSpanValues correct 560 //int axisDimensionCount = Enum.GetNames(typeof(AxisDimension)).Count(); 561 //int columnIndex = xAxisComboBox.SelectedIndex - axisDimensionCount; 562 //if (columnIndex >= 0 && Content.GetValue(0, columnIndex) is TimeSpanValue) 563 // this.chart.ChartAreas[0].CursorX.Interval = 1; 564 //columnIndex = yAxisComboBox.SelectedIndex - axisDimensionCount; 565 //if (columnIndex >= 0 && Content.GetValue(0, columnIndex) is TimeSpanValue) 566 // this.chart.ChartAreas[0].CursorY.Interval = 1; 567 } 568 522 569 #endregion 523 570
Note: See TracChangeset
for help on using the changeset viewer.