- C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
677 :デフォルトの名無しさん[]:2015/12/19(土) 10:38:14.84 ID:JvWGGUhp - 偉大なる皆さまのお力をお借りしたいです。
Windows Forms Data Chart コントロール(UltraDataChart)を利用して、 CategoryDateTimeXAxisを用いた時、時間表現が上手くいかないのです。
| - C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
678 :677[]:2015/12/19(土) 10:47:28.56 ID:JvWGGUhp - 途中で途切れちゃった
Windows Forms Data Chart コントロール(UltraDataChart)を利用して、 CategoryDateTimeXAxisを用いた時、時間表現が上手くいかないのです。 2015/01/01 0:00:00→2015/01/01 0:00:00と時間部分が変化ないんです。 Labelの設定とか何かコツがあるんでしょうか?
| - C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
682 :677[]:2015/12/19(土) 13:56:41.41 ID:JvWGGUhp - >>681
というわけじゃないんです。 グラフ自体も問題ないし、日付データもDateTime型で、 問題ない漢字です...とほほ
| - C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
684 :677[]:2015/12/19(土) 14:10:09.74 ID:JvWGGUhp - データを入れとくクラスはこんな構成
public class PlotData{ public DateTime Date { get; set; } public float Value { get; set; } } んで、データクラスを入れるデータセットは、ObservableCollection<PlotData>としています。 データ生成は以下な感じ static public ObservableCollection<PlotData> CreateData(DateTime beginDateTime, int count){ ObservableCollection<PlotData> results = new ObservableCollection<PlotData>(); if (0 < count) { float angleF = 0.0f; float valueF = 0.0f; DateTime curDateTime = beginDateTime; for (int i = 0; i < count; i++) { valueF = (float)Math.Sin((((double)angleF * (double)Math.PI)) / (double)180); results.Add(new PlotData(){ Date = curDateTime, Value = valueF}); angleF += 1; curDateTime = curDateTime.AddMinutes(1); } } return results; }
| - C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
685 :677[]:2015/12/19(土) 14:12:07.88 ID:JvWGGUhp - Formではこんな感じ
public partial class Form1 : Form{ ObservableCollection<PlotData> _dataSource = new ObservableCollection<PlotData>(); public Form1(){ _dataSource = PlotData.CreateData(new DateTime(2015, 1, 1, 0, 0, 0), 3600); InitializeComponent(); CategoryDateTimeXAxis axisX = null; NumericYAxis axisY = null; LineSeries seriesLine = null; List<CategoryDateTimeXAxis> listCategoryDateTimeXAxis = null; List<NumericYAxis> listNumericYAxis = null; List<LineSeries> listLineSeries = null; ultraDataChart1.HorizontalZoomable = true; ultraDataChart1.VerticalZoomable = true; listCategoryDateTimeXAxis = ultraDataChart1.Axes.OfType<CategoryDateTimeXAxis>().ToList(); listNumericYAxis = ultraDataChart1.Axes.OfType<NumericYAxis>().ToList(); listLineSeries = ultraDataChart1.Series.OfType<LineSeries>().ToList(); axisX = listCategoryDateTimeXAxis[0]; axisY = listNumericYAxis[0]; axisX.DataSource = _dataSource; axisX.DateTimeMemberPath = "Date"; axisX.Label = "Date"; seriesLine = listLineSeries[0]; seriesLine.DataSource = _dataSource; seriesLine.ValueMemberPath = "Value"; seriesLine.XAxis = axisX; seriesLine.YAxis = axisY; seriesLine.MarkerType = MarkerType.None; ultraDataChart1.Refresh(); } }
| - C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
686 :677[]:2015/12/19(土) 14:18:21.24 ID:JvWGGUhp - 上、インターバルが抜けてた
axisX.Interval = new TimeSpan(6, 0, 0); _dataSourceの中で、 Dateは 2015/01/01 0:00:00, 2015/01/01 0:01:00, 2015/01/01 0:03:00 .... で、Valueは 0.0, 0.0174524058, 0.0348994955, 0.0523359552 .... となってます。 がチャートでは、 2015/01/01 0:00:00, 2015/01/01 0:00:00, 2015/01/01 0:00:00, 2015/01/01 0:00:00, 2015/01/02 0:00:00, 2015/01/02 0:00:00... と表現されます。
| - C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net
689 :677[]:2015/12/19(土) 17:20:32.86 ID:JvWGGUhp - >>687
PlotData実装してみたいけどダメでした。 イベントは生成されてるみたいですが...
|
|