data_MONTHMONTHTEST = new google.visualization.DataTable();
data_MONTHMONTHTEST.addColumn('number','id');//0
data_MONTHMONTHTEST.addColumn('string','month');//1
data_MONTHMONTHTEST.addColumn('number','revenue');//2
var aggView_MONTHMONTHTEST_month =google.visualization.data.group(data_MONTHMONTHTEST, [1],[{'column':2, 'aggregation':google.visualization.data.sum, 'type': 'number',label:'revenue'}]);
barChart_MONTHMONTHTEST_month = new google.visualization.ChartWrapper(
{
'chartType':'BarChart',
'containerId': 'chart_div_bar_MONTHMONTHTEST0',
'options': barOptions_MONTHMONTHTEST_month ,
dataTable: aggView_MONTHMONTHTEST_month
});
当绘制图表月份列值未被保留时。相反,它是根据字母顺序来篡改图表。
我尝试过排序:禁用作为选项列表的一部分,但没有运气。
有人可以建议如何保留月份订单。
先谢谢!! !!
答案 0 :(得分:1)
我们可以使用列索引禁用排序:经过一天的研究后,我找到了一个禁用列排序的选项
var aggView_MONTHMONTHTEST_month = google.visualization.data.group(data_MONTHMONTHTEST123, [1],[{'column':2, 'aggregation':google.visualization.data.sum, 'type': 'number',label:'revenue'}]);
aggView_MONTHMONTHTEST_month.sort({column: 1, sort: 'disable'});
答案 1 :(得分:0)
对'number'
列使用'string'
(与'month'
}类型
data_MONTHMONTHTEST.addColumn('number','id');//0
data_MONTHMONTHTEST.addColumn('number','month');//1
data_MONTHMONTHTEST.addColumn('number','revenue');//2
然后使用格式化的值显示名称。
看不到您的数据加载 - 但列值会发生变化
来自:'March'
收件人:{v: 2, f: 'March'} // 2 for zero based months -- 3 works too
或者您可以使用方法......
data_MONTHMONTHTEST.setCell(row, col, 2, 'March');
或......
data_MONTHMONTHTEST.setValue(row, col, 2);
data_MONTHMONTHTEST.setFormattedValue(row, col, 'March');
答案 2 :(得分:0)
It worked for me Bar chart.Here is the code
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<script src="https://code.jquery.com/jquery-2.2.1.js"></script>
<script src="Js/jquery-1.4.1-vsdoc.js"></script>
<script src="Js/jquery-1.4.1.js"></script>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="Js/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
google.load('visualization', '1', { packages: ['corechart'] });
//google.charts.load('current', {'packages':['bar']});
//google.charts.setOnLoadCallback(drawChart);
</script>
---here is the CS file
//GetDataperformance for JQgrid On load Event
[WebMethod(EnableSession = true)]
public static List<Dictionary<string, object>> GetDataperformance()
{
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
string publisherid = HttpContext.Current.Session["AccountID"].ToString();
DataTable dt = new DataTable();
if (!string.IsNullOrEmpty(publisherid))
{
using (SqlConnection con = new SqlConnection(@"server=203.115.195.52;user Id=appl;password=mcom007;database=mcom_ad_engine"))
{
//string StartDate = DateTime.Now.AddDays(-180).ToString("yyyy-MM-dd");
string StartDate = DateTime.Now.AddDays(-60).ToString("yyyy-MM-dd");
string EndDate = DateTime.Now.ToString("yyyy-MM-dd");
SqlCommand cmd = new SqlCommand("Sp_publisher_TotalPayout_Report", con);
cmd.CommandTimeout = 50;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@publisherid", publisherid);
cmd.Parameters.AddWithValue("@istartdate", StartDate);
cmd.Parameters.AddWithValue("@ienddate", EndDate);
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
}
}
else
{
//Navigate to Login Page
}
return rows;
}