मुझे लगता है कि मैं VB.NET और DotNet.HighCharts उपयोग कर बनाई गई है श्रृंखला का एक सेट है:Highcharts और DotNet.HighCharts का उपयोग करते हुए "प्ले" पर होने वाले अनेक सीरीज
Dim SeriesList4As New List(Of Series)(stfipsList4.Count)
कुछ इसी तरह क्या मैं ऐसा करना चाहते है http://jsfiddle.net/8M2fF/ को छोड़कर मैं पहले से जानते हुए भी कि कितने मैं बिना एकाधिक श्रृंखला में पारित करने में सक्षम होना चाहता हूँ।
VB कोड है कि ऊपर है कि उदाहरण के लिए बनाया यह है:
Dim stfipsList4 = (From r In dt4.AsEnumerable() Select r("areaname")).Distinct().ToList()
Dim SeriesList4 As New List(Of Series)(stfipsList4.Count)
Dim seriesItem4(stfipsList4.Count) As Series
Dim xDate4 As DateTime
Dim fakeDate4 As String
Dim sX4 As Integer
sX4 = 1
For Each state In stfipsList4
Dim data As New Dictionary(Of DateTime, Decimal)
Dim stateVal As String = state.ToString
Dim recCount As Integer = dt4.Rows.Count - 1
Dim seriesPointCount As Integer = dt4.Compute("Count(population)", "areaname = '" + stateVal + "'")
Dim chartData As Object(,) = New Object(seriesPointCount - 1, 1) {}
Dim x As Integer = 0
For i As Integer = 0 To recCount
If dt4.Rows(i)("areaname").ToString = stateVal Then
fakeDate4 = "1/1/" + dt4.Rows(i)("periodyear").ToString
xDate4 = DateTime.Parse(fakeDate4)
chartData.SetValue(xDate4.Date, x, 0)
chartData.SetValue(dt4.Rows(i)("population"), x, 1)
x += 1
End If
Next
seriesItem4(sX4) = New Series With {
.Name = state.ToString, _
.Data = New Helpers.Data(chartData)
}
SeriesList4.Add(seriesItem4(sX4))
sX4 = sX4 + 1
Next
Dim iterateData As String = JsonSerializer.Serialize(seriesItem4(1))
Dim chart4 As Highcharts = New Highcharts("chart4").SetOptions(New Helpers.GlobalOptions() With { _
.[Global] = New [Global]() With { _
.UseUTC = False _
} _
}).InitChart(New Chart() With { _
.DefaultSeriesType = ChartTypes.Column, _
.MarginRight = 10, _
.Events = New ChartEvents() With { _
.Load = "ChartEventsLoad" _
} _
}).SetTitle(New Title() With { _
.Text = "Population" _
}).SetTooltip(New Tooltip() With { _
.Formatter = "function() { return '<b>' + this.series.name + '<br/>' + Highcharts.dateFormat('%Y', this.x) +'</b>: '+ Highcharts.numberFormat(this.y, 0, ','); }" _
}).SetXAxis(New XAxis() With { _
.Type = AxisTypes.Datetime, _
.TickPixelInterval = 150 _
}).SetYAxis(New YAxis() With { _
.Min = 0, _
.Title = New YAxisTitle() With { _
.Text = "Population", _
.Align = AxisTitleAligns.High _
} _
}).SetSeries(New Series() With { _
.Data = New Helpers.Data(New Object() {}) _
}) _
.SetOptions(New Helpers.GlobalOptions() With { _
.Colors = palette_colors _
}) _
.AddJavascripVariable("iterated", iterateData.ToString) _
.AddJavascripFunction("ChartEventsLoad", "// set up the updating of the chart each second" & vbCr & vbLf & _
" var result = iterated.data;" & vbCr & vbLf & _
" var counter = 0;" & vbCr & vbLf & _
" var series = this.series[0];" & vbCr & vbLf & _
" var loopseries = function() {" & vbCr & vbLf & _
" if (counter <= result.length) {" & vbCr & vbLf & _
" var p = String(result[counter]);" & vbCr & vbLf & _
" var splitp = p.split("","");" & vbCr & vbLf & _
" var x = Number(splitp[0]);" & vbCr & vbLf & _
" var y = Number(splitp[1]);" & vbCr & vbLf & _
" series.addPoint([x, y], true, series.points.length > 10, true);" & vbCr & vbLf & _
" counter++;" & vbCr & vbLf & _
" } else {" & vbCr & vbLf & _
" clearInterval(loopseries);" & vbCr & vbLf & _
" }};" & vbCr & vbLf & _
" setInterval(loopseries, 300);")
ltrChart4.Text = chart4.ToHtmlString()
इसमें केवल एक श्रृंखला के लिए है। मैं एक सूची (श्रृंखला का) में गुजरना चाहता हूं। चीजें शामिल करने की आवश्यकता है कि: प्रत्येक श्रृंखला प्रत्येक श्रृंखला
मैं उन वस्तुओं यह सिर्फ मास्टर श्रृंखला "सूची" है कि मैं पूरा नहीं कर सकते में गुजर रहा है संभाल कर सकते हैं नामकरण करने के लिए जोड़ना अंक श्रृंखला के एन संख्या बना रहा है।
संपादित करें: वहाँ मैं क्या पूछ रहा हूँ पर कुछ भ्रम हो रहा है। मैं DotNet.HighCharts API के माध्यम से उच्च संख्या में श्रृंखला को एन-पास करने में सक्षम हूं। जो मैं वर्तमान में करने में सक्षम नहीं हूं, वह श्रृंखला के इस सेट को जावास्क्रिप्ट फ़ंक्शन में लूप करने और श्रृंखला को "प्ले" करने के लिए पास करता है। कृपया देखें:
.AddJavascripVariable("iterated", iterateData.ToString) _
.AddJavascripFunction("ChartEventsLoad", "// set up the updating of the chart each second" & vbCr & vbLf & _
" var result = iterated.data;" & vbCr & vbLf & _
" var counter = 0;" & vbCr & vbLf & _
" var series = this.series[0];" & vbCr & vbLf & _
" var loopseries = function() {" & vbCr & vbLf & _
" if (counter <= result.length) {" & vbCr & vbLf & _
" var p = String(result[counter]);" & vbCr & vbLf & _
" var splitp = p.split("","");" & vbCr & vbLf & _
" var x = Number(splitp[0]);" & vbCr & vbLf & _
" var y = Number(splitp[1]);" & vbCr & vbLf & _
" series.addPoint([x, y], true, series.points.length > 10, true);" & vbCr & vbLf & _
" counter++;" & vbCr & vbLf & _
" } else {" & vbCr & vbLf & _
" clearInterval(loopseries);" & vbCr & vbLf & _
" }};" & vbCr & vbLf & _
" setInterval(loopseries, 300);")
.AddJavaScriptVariable एक स्ट्रिंग की उम्मीद है और इन-अस्तर कोड मुझे अमान्य ऑब्जेक्ट संदर्भ दे रहा है।
मुझे श्रृंखला की सूची प्राप्त करने में कोई समस्या नहीं है। यही वह है जो 'प्रत्येक राज्य में stfipsList4' कर रहा है। और मैं डिफ़ॉल्ट सूची का उपयोग कर चार्ट में कोई समस्या जोड़ने के लिए श्रृंखला को जोड़ने के लिए उस सूची के माध्यम से पुन: प्रयास कर सकता हूं। समय के माध्यम से श्रृंखला को एनिमेट/प्ले करने के लिए यह सवाल क्या है (हाईचर्ट्स डिफ़ॉल्ट लोडिंग एनीमेशन के साथ उलझन में नहीं)। जो मैं पूरा करने की कोशिश कर रहा था, उसके लिए मेरी जेएसफ़ील्ड देखें लेकिन केवल 1 श्रृंखला के साथ। मेरी समस्या यह है कि मुझे यकीन नहीं है कि श्रृंखला की सूची को जावास्क्रिप्ट फ़ंक्शन में कैसे पास किया जाए जो श्रृंखला को पुन: सक्रिय करता है और करता है। – wergeld
मैं समझता हूं कि यह उत्तर DotNet.HighCharts एपीआई का उपयोग कर हाईचर्ट्स को एकाधिक श्रृंखला जोड़ने का एक अच्छा सामान्य समाधान है लेकिन यह पूछे गए प्रश्न को संबोधित नहीं करता है। यह क्या करता है चार्ट में एक बार श्रृंखला की सूची में सभी श्रृंखला जोड़ता है। यह उदाहरण जेएसफ़िल्ड में वर्णित श्रृंखला अंक नहीं चलाता है। – wergeld
मैं मूल रूप से आपके प्रश्न को गलत पढ़ता हूं। मुझे क्षमा करें। मुझे नहीं पता कि लोग इसे क्यों वोट दे रहे हैं। यह डॉटनेट का उपयोग करने का एक अच्छा तरीका है। हाइचार्ट्स। लेकिन जैसा कि आपने बताया है कि यह आपके प्रश्न का उत्तर नहीं देता है। – Linger