トップ回答者
OWCでの対数グラフについて

質問
-
OWCを用いて、対数グラフ(X-Y:log-log)を作成しようと思います。
Chart上の縦軸(Y軸)のスケーリングは下記設定で可能なのですが、横軸(X軸)のスケーリング
が設定がうまくいきません。Dim chConstants
Dim scValueAxisScalingSet chConstants = ChartSpace1.Constants
Set scValueAxisScaling = ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionValue).Scaling
scValueAxisScaling.Type = chConstants.chScaleTypeLogarithmic
scValueAxisScaling.Maximum = 100
scValueAxisScaling.LogBase = 10どなたかご教授いただけませんでしょうか・・
回答
-
要望に沿うかどうかわかりませんが、散布図であればX軸にも対数目盛を表示することができます。
※ASP.NET2.0 OWC11で確認しています。
Code SnippetDim chartSpace As ChartSpace = New ChartSpaceClass()
Dim chChart As ChChart = chartSpace.Charts.Add(0)
'散布図
chChart.Type = ChartChartTypeEnum.chChartTypeScatterSmoothLineMarkers'Y軸
Dim YAxis As ChScaling
YAxis = chChart.Axes(ChartAxisPositionEnum.chAxisPositionLeft).Scaling
YAxis.Type = ChartScaleTypeEnum.chScaleTypeLogarithmic
YAxis.Maximum = 100
YAxis.LogBase = 10'X軸
Dim XAxis As ChScaling
XAxis = chChart.Axes(ChartAxisPositionEnum.chAxisPositionBottom).Scaling
XAxis.Type = ChartScaleTypeEnum.chScaleTypeLogarithmic
XAxis.Maximum = 100
XAxis.LogBase = 10'値をプロット
Dim series As ChSeries = chChart.SeriesCollection.Add(0)
series.SetData( _
ChartDimensionsEnum.chDimYValues, _
CInt(ChartSpecialDataSourcesEnum.chDataLiteral), _
"1,10,20,30,40,50")series.SetData( _
ChartDimensionsEnum.chDimXValues, _
CInt(ChartSpecialDataSourcesEnum.chDataLiteral), _
"1,10,20,30,40,50")
すべての返信
-
要望に沿うかどうかわかりませんが、散布図であればX軸にも対数目盛を表示することができます。
※ASP.NET2.0 OWC11で確認しています。
Code SnippetDim chartSpace As ChartSpace = New ChartSpaceClass()
Dim chChart As ChChart = chartSpace.Charts.Add(0)
'散布図
chChart.Type = ChartChartTypeEnum.chChartTypeScatterSmoothLineMarkers'Y軸
Dim YAxis As ChScaling
YAxis = chChart.Axes(ChartAxisPositionEnum.chAxisPositionLeft).Scaling
YAxis.Type = ChartScaleTypeEnum.chScaleTypeLogarithmic
YAxis.Maximum = 100
YAxis.LogBase = 10'X軸
Dim XAxis As ChScaling
XAxis = chChart.Axes(ChartAxisPositionEnum.chAxisPositionBottom).Scaling
XAxis.Type = ChartScaleTypeEnum.chScaleTypeLogarithmic
XAxis.Maximum = 100
XAxis.LogBase = 10'値をプロット
Dim series As ChSeries = chChart.SeriesCollection.Add(0)
series.SetData( _
ChartDimensionsEnum.chDimYValues, _
CInt(ChartSpecialDataSourcesEnum.chDataLiteral), _
"1,10,20,30,40,50")series.SetData( _
ChartDimensionsEnum.chDimXValues, _
CInt(ChartSpecialDataSourcesEnum.chDataLiteral), _
"1,10,20,30,40,50")