0

VISI Fire を Silverlight と C# で使用して、データ チャートを作成しています。グラフの 1 つのスタイルでは、積み上げられたデータを列に表示できます。使用している xaml コードは次のようになります。

IMG]https://i67.photobucket.com/albums/h292/Athono/xaml.png[/IMG

私が作成しようとしているチャートは、visi ファイア チャートの例に基づいています。http://www.visifire.com/silverlight_wpf_charts_gauges_gallery.php にアクセスして、ここでスタックされた例を見ると http://www.visifire.com/silverlight_stacked_charts_gallery.php私がエミュ レートしようとしている xaml の例を見ることができます。

IMG]https://i67.photobucket.com/albums/h292/Athono/post_this.png[/IMG

しかし、私のチャートは異なって出てきます。私には、この奇妙な重複する日付機能があります

IMG]http://i67.photobucket.com/albums/h292/Athono/badrepresentation.png[/IMG

ここで、慎重にコードを調べてみましたが、わかる限り、各データ セット ペアの日付は同じです。

IMG]http://i67.photobucket.com/albums/h292/Athono/code-1.png[/IMG

このコードを実行して、i の各値で、各データ ペアの年と月がまったく同じであることを確認しました。では、なぜ私のグラフはそんなにめちゃくちゃなのですか?

私が DateTime クラスを使用している方法に何か問題がありますか?

new DateTime((Int32) Year_Id,(Int32) SMonth_Id, (Int32)1);
4

2 に答える 2

1

最初の解決策:

両方の DataSeries で XValue の代わりに AxisXLabel プロパティを String として設定します。XValueType を DataSeries または x 軸に設定しないでください。また、x 軸に Interval プロパティを設定しないでください。

例:

<vc:Chart.Series>
    <vc:DataSeries>
        <vc:DataSeries.DataPoints>
            <vc:DataPoint  AxisXLabel="Jan - 2010" YValue="2"/>
            <vc:DataPoint  AxisXLabel="Feb - 2010" YValue="3"/>
            <vc:DataPoint  AxisXLabel="Mar - 2010" YValue="4"/>
        </vc:DataSeries.DataPoints>
    </vc:DataSeries>
    <vc:DataSeries>
        <vc:DataSeries.DataPoints>
            <vc:DataPoint  AxisXLabel="Jan - 2010" YValue="10"/>
            <vc:DataPoint  AxisXLabel="Feb - 2010" YValue="20"/>
            <vc:DataPoint  AxisXLabel="Mar - 2010" YValue="30"/>
        </vc:DataSeries.DataPoints>
    </vc:DataSeries>
</vc:Chart.Series>

2番目の解決策:

現在のコードを変更する必要はありません。現在設定している XValue の設定を続行します。XAML の x 軸に IntervalType="Month" と Interval="1" の 2 つのプロパティを設定するだけです。

于 2011-07-20T07:37:23.787 に答える
0

Somnathの作品からの2番目のソリューション。

1stについてはわかりません。試してみたのですが、良い結果が得られなかったのを覚えています。積み上げグラフの場合、問題がありました。

私はついにそれを働かせました。xaml にいくつかの仕様を追加する必要がありました。

修正は次のとおりです。

<vc:Chart.AxesX>
    <vc:Axis ValueFormatString="MMM - yyyy" Padding="4" LineThickness="0" IntervalType="Months"  Interval="1"/>
</vc:Chart.AxesX>
于 2011-07-20T20:04:13.597 に答える