トップページ > プログラム > 2015年12月19日 > JvWGGUhp

書き込み順位&時間帯一覧

7 位/233 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000200130010000007



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
677
C#, C♯, C#相談室 Part89 [転載禁止]©2ch.net

書き込みレス一覧

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実装してみたいけどダメでした。
イベントは生成されてるみたいですが...


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。