作成しているWinformsアプリでMSチャートコントロールを使用しています。私が表示している散布図のX軸コンポーネントは、最終的にUTC時間を表すInt64データです。そのInt64データを取得し、基本的にDataTime.FromFileTimeUTC(theTime).ToString()を実行して、意味のあるエンドユーザーのX軸ラベルを表示したいと思います。
現在、メモリ内のDataTableに別の列を作成して、そのInt64と同等のDateTimeを次のように保持しています。
dataTable.Columns.Add("mytimestamp");
foreach (DataRow dr in dataTable.Rows)
{
dr["mytimestamp"] = DateTime.FromFileTimeUTC(Convert.ToInt64(dr["theint64val"].ToString()));
}
次に、「mytimestamp」列をx軸の値として使用します。これは正常に機能し、x軸ラベルを日時値として表示できます。
しかし、列を作成して他の列のデータを本質的に複製するという問題を経験したくはありませんが、x軸ラベルをフォーマットする方法がわかりませんでした。これを見逃したかもしれない、と私は思った。ドキュメントでAxisViewChangedイベントを確認し、そのデータでグラフのタイトルを設定する方法を確認しましたが、x軸ラベル自体は設定しませんでした。
何か案は?