2012-05-24 3 views
1

Я разработал диаграмму пузырьков в Asp.net, используя простой sqldatsource, определяя столбцы оси x и y формально. Теперь проблема в том, что размер пузырьков одинаковый для всех vlaues.For Например, размер пузыря для 100 равен размеру пузыря за 2000. Пожалуйста, скажите мне, есть ли какое-либо свойство или атрибут, чтобы проверить размер пузырьков в соответствии со значениями. Я пробовал Многое найти какое-либо свойство, например это, но все в vain.Kindly Помогите мнеДиаграмма пузырей в asp.net не работает

Update

<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

Сэра Я обновил мой текущий код Пожалуйста скажи мне, что это вопрос в моем коде и где я должен change Now – user1397781

+0

Если вы собираетесь использовать 'Amount' для значения Y и размера пузыря, просто замените' YValueMembers = "Amount" 'на' YValueMembers = "Amount, Amount" '. Если вы хотите использовать другое значение для размера пузырька, давайте назовем его 'Size', вам также нужно добавить его в свой SqlDataSource, поэтому' 'SELECT DISTINCT Size, to_char (DS_DATE, 'DD MON YYYY') " Дата ", DS_AMT " Сумма " ... 'и обновление' YValueMembers' как 'YValueMembers =" Сумма, размер "' –

+0

Да Его работающая благодарность Много – user1397781

Смежные вопросы