or
var chartData = [
{ X: 0, serie1: 12, serie2: 16, serie3: 11 },
{ X: 0, serie1: 32, serie2: 12, serie3: 15 },
{ X: 1, serie1: 15, serie2: 18, serie3: 9 },
{ X: 1, serie1: 8, serie2: 13, serie3: 17 }
];
$('#chartContainer').kendoChart({
dataSource: {
data: chartData
},
theme: 'default',
legend: {
position: 'bottom'
},
seriesDefaults: {
type: 'column',
stack: true
},
series:
[
{ field: 'serie1', name: 'serie1' },
{ field: 'serie2', name: 'serie2' },
{ field: 'serie3', name: 'serie3' }
],
categoryAxis: {
field: 'X'
},
tooltip: {
visible: true
}
});
But I end up with a graph where categories are repeated on the x axis. Is there a way I could have them grouped? Something that would look like this:
http://peltiertech.com/Utility/pix/clusterstackchart.png
Thank you!
<div data-role="view" id="dashView" data-layout="mobile-view"> <div data-role="view" id="dataA"> <a data-role="button" href="#dataB">A</a> </div> <div data-role="view" id="dataB"> <a data-role="button" href="#dataC">B</a> </div> <div data-role="view" id="dataC"> <a data-role="button" href="#dataA">C</a> </div></div><script type="text/x-kendo-template" id="someTemplate"> <div> <label> ${firstName}</label> <label>${lastName}</label> </div></script><div data-role="grid" data-bind="source: people" data-columns='[ {"field": "firstName", "title": "Full Name", "template": "kendo.template($("#someTemplate"))" }]'></div>@(Html.Kendo().Grid((IEnumerable<MyModel>)ViewBag.Model) .Name("Grid") .Columns(columns => { .. removed for brevity .. columns.Command(command => { command.Edit(); command.Destroy(); }); }) .ToolBar(toolbar => toolbar.Create()) .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("EditorTemplate")) .Pageable() .Sortable() .Scrollable() .DataSource(dataSource => dataSource .Ajax() .PageSize(20) .Events(events => events.Error("error_handler")) .Model(model => model.Id(m => m.recordID)) .Create(update => update.Action("Create", "Controller")) .Update(update => update.Action("Update", "Controller")) .Destroy(update => update.Action("Destroy", "Controller")) ) )@(Html.Kendo().DropDownListFor(m => m.StateId) .Name("StateId") .DataTextField("StateName") .DataValueField("StateId") .DataSource(source => { source.Read(read => { read.Action("GetStatesList", "Controller"); }) .ServerFiltering(true); }) .SelectedIndex(0) .OptionLabel("Select a State") )public JsonResult GetStatesList(){ var states = client.GetStates(); return Json(states, JsonRequestBehavior.AllowGet);}<div id="view_ticketCreate"> <form id="jar_ticketing_create"action="" class="k-block jar-container"> <fieldset class="login"> <legend>Kontaktinformationen</legend> <p class="notice">Definieren Sie hier die Kontaktinformationen zu diesem Ticket.</p> <p> <label>Kunde</label> <input data-role="autocomplete" data-bind="source: customers, events{click: inject}" data-text-field="CName" placeholder="Suchen Sie nach dem Kunde" type="text" id="jtc_cID" class="k-textbox sourced"> </p> <p> <label>Kontakt</label> <input type="text" name="jtc_cName" class="k-textbox"> </p> <p> <label>E-Mail</label> <input data-bind="value: cMail" type="text" name="jtc_cMail" class="k-textbox"> </p> <p> <label>Telefon</label> <input data-bind="value: cPhone" type="text" name="jtc_cPhone" class="k-textbox"> </p> <p> <label>Gerät</label> <select name="dID" class="k-textbox sourced"> <option value="000">Nicht geräte spezifisch</option> <option value="001">CFBS01</option> <option value="002">CFBS02</option> <option value="003">CFBS03</option> <option value="004">CFBS04</option> </select> </p> <p> <label>Login</label> <input type="text" name="cLogin" class="k-textbox"> </p> </fieldset></form></div><script> kendo.bind($("#view_ticketCreate"), view_ticketCreate);</script>var view_ticketCreate = kendo.observable({ customers: new kendo.data.DataSource({ transport: { read: { dataType: "jsonp", contentType: "application/json; charset=utf-8" }, parameterMap: function(options, operation) { return { SearchTag: options.filter.filters[0].value } } }, schema: { data: "data" }, serverFiltering: true, dataTextField: "CName", select: function(e){ if (e.item == null) return; var DataItem = this.dataItem(e.item.index()) cPhone: DataItem.Telefon } }), inject: function(e){ alert('ok') }, cPhone: "0123456789", cMail: "asd@asd.de"});