2012-05-24 49 views
1

我已經使用一個簡單的sqldatsource通過定義X和Y軸柱formaly.Now問題是,氣泡的尺寸是相同的所有vlaues.For開發在Asp.net氣泡圖例如100的泡泡大小與2000泡泡的大小相同。請告訴我是否存在任何屬性或屬性根據值檢查泡泡的大小。我嘗試了很多方法來查找任何屬性在vain.Kindly這一點,但所有幫我氣泡圖表在asp.net不工作

更新

<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> 

回答

1

當你沒有提供你怎麼初始化序列中的任何細節,很難給出具體的答案,但在一般情況圖表系列具有財產YValuesPerPoint應設置爲2和方法series.Points.DataBindXY()series.Points.AddXY()可以提供多個Y值。提供的第一個Y值將負責Y軸上氣泡的位置,第二個Y值將代表氣泡大小。

所以,在每個系列的一個泡沫,你可以使用下面的代碼段:

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); 
} 
+0

先生,我已經更新了我當前的代碼,請告訴我什麼是我的代碼的問題,並在那裏我到現在更改 – user1397781

+0

如果您要將「Amount」用於Y值和泡沫大小,只需用'YValueMembers =「Amount,Amount」'替換'YValueMembers =「Amount」'。如果你想用氣泡大小的另一個價值,讓我們將其命名爲'Size',你需要把它添加到您的SqlDataSource一樣,所以'「SELECT DISTINCT大小,TO_CHAR(DS_DATE,‘DD MON YYYY’)"日期", DS_AMT "金額" ...'和'更新像YValueMembers''YValueMembers = 「數量,尺寸」' –

+0

是它的工作非常感謝 – user1397781