データをエクスポートして(非常にうまく動作するように)、グラフを作成しようとしています。x軸の異なる複数のシリーズのC#
私が持っているもの:3列 - ID、値、日付。同じIDを持ち、値と日時が異なる複数の行があります。
例:
ID - 値 - 日時
1 - 14 - 2017年11月21日午前2時17分08秒
1 - 15 - 2017年11月22日午後02時25分45秒
3から12.5 - 2017年11月21日午後03時12分12秒
3から18.7 - 2017年11月21日午後七時27分35秒
3から13 - 2017年11月22日午後12時47分17秒
私がしたいことは価値がY軸であるチャートです、各IDは系列で、DatetimeはX軸です。ただし、datetimeはIDごとに異なります。
これは表示方法ですが、X軸に数字の代わりに日付が表示されます。 Chart Image。
私は解決策を探していて、同様の質問から解決策を試してきましたが、まだ「ポイント」はありませんでした。 は、これは私がこれまで持っているものです。
Excel.ChartObjects ChartObjects = (Excel.ChartObjects)WS.ChartObjects();
Excel.ChartObject chartObject = ChartObjects.Add(400, 40, 450, 300);
chartObject.Chart.ChartType = Excel.XlChartType.xlXYScatterLines;
Excel.SeriesCollection oSeriesCollection = (Excel.SeriesCollection)chartObject.Chart.SeriesCollection();
Excel.Axis xAxis = (Excel.Axis)chartObject.Chart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
xAxis.HasTitle = true;
xAxis.AxisTitle.Text = "Date";
Excel.Axis yAxis = (Excel.Axis)chartObject.Chart.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary);
yAxis.HasTitle = true;
yAxis.AxisTitle.Text = "Value";
int startPos = 4;
int endPos = 0;
int previousCount = 0;
for (int i = 0; i < Count; i++)
{
startPos = startPos + previousCount;
endPos = startPos + CountList[i].Count - 1;
Excel.Series oSeries = oSeriesCollection.NewSeries();
oSeries.Values = WS.Range["E" + startPos, "E" + endPos];
//oSeries.XValues = WS.Range["F" + startPos, "F" + endPos]; //doesn't really do anything
oSeries.Name = "id " + CountList[i].Number.ToString();
previousCount = CountList[i].Count;
}
それはどんな違いを行った場合、日付は、データベース内の日時ですが、リストに格納する際に、文字列に変換されます。
私はそれが必要な方法でx軸を設定できますか?出来ますか?
悲しいことに、これは私にも役立ちませんでした。なぜなら、ShowHiddenDataプロパティを持たないinteropを使用する必要があるからです。しかし、努力していただきありがとうございます、そして他の提案は大歓迎です! – YuppLo