1

x軸とy軸の列を正式に定義することにより、単純なsqldatsourceを使用してAsp.netでバブルチャートを開発しました.今問題は、バブルのサイズがすべての値で同じであることです.たとえば、100のバブルのサイズは2000 のバブルのサイズ。値に応じてバブルのサイズを確認するためのプロパティまたは属性が存在するかどうか教えてください。このようなプロパティを見つけるために多くのことを試みましたが、すべて無駄でした。親切に助けてください

アップデート

 <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1" 
            Width="1115px" Height="556px" Compression="5">
            <Series>
                <asp:Series Name="Series1" XValueMember="Date" YValueMembers="Amount" 
                    ChartType="Bubble" YValuesPerPoint="2" IsValueShownAsLabel="True" 
                    IsXValueIndexed="True" MarkerSize="0" MarkerStyle="Circle" Palette="EarthTones">
                </asp:Series>
            </Series>
            <ChartAreas>
                <asp:ChartArea Name="ChartArea1" >
                </asp:ChartArea>
            </ChartAreas>
        </asp:Chart>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionStringSMLAPP %>" 
            ProviderName="<%$ ConnectionStrings:ConnectionStringSMLAPP.ProviderName %>" 
            SelectCommand="SELECT DISTINCT to_char(DS_DATE,'DD MON YYYY') &quot;Date&quot;, DS_AMT &quot;Amount&quot;FROM DIESEL where ds_amt &lt; 5000 and DS_DATE in('1-APR-2011','1-DEC-2011') order by 1">
        </asp:SqlDataSource>
4

1 に答える 1

1

詳細を提供しなかったため、シリーズをどのように初期化しているのか、具体的な答えを出すのは難しいですが、一般的に、チャート シリーズにはYValuesPerPoint2 とメソッドに設定する必要があるプロパティがあります。series.Points.DataBindXY()またはseries.Points.AddXY()、複数の Y 値を指定できます。最初に指定された Y 値は Y 軸上のバブルの位置を表し、2 番目の Y 値はバブル サイズを表します。

したがって、各シリーズに 1 つのバブルを作成するには、次のコードを使用できます。

Chart chart = new Chart();
DataTable dt = GetData(); //your method to initialize data table with columns "Series", "X_value", "Y_value" and "BubbleSize_value"

foreach (DataRow row in dt.Rows)
{
    string seriesName = row["Series"].ToString();
    var series = new Series(seriesName);
    series.YValuesPerPoint = 2;
    series.ChartType = SeriesChartType.Bubble;
    series.MarkerStyle = MarkerStyle.Circle;

    series.Points.AddXY(row["X_value"], row["Y_value"], row["BubbleSize_value"]);
    chart.Series.Add(series);
}
于 2012-07-17T14:14:15.460 に答える