从10年1月开始,我每月要绘制一个非常简单的数组。
以下是我的数据。 0
用于Jan'10
,1
用于feb'10
,依此类推。
data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
我使用以下代码来绘制图形(jsfiddle)。
Highcharts.chart('container', {
xAxis: {
type: 'datetime'
},
plotOptions: {
series: {
pointStart: Date.UTC(2010, 0, 1),
pointInterval: 24 * 3600 * 1000*30 // 30 days
}
},
series: [{
data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
}]
});
这很好,只是一个问题。
问题:
因为我给定的时间间隔为30天,所以第二点的x坐标为1月31日(而不是预期的2月1日)。
有没有办法告诉高图我的数据是每月的。
我知道一个可行的解决方案是将每个坐标明确地赋予this demo高图表。
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
但是我发现this图形具有由高图自动绘制的年度数据,而没有明确地在x轴上给出所有年份,明确地说,我确信也必须有一种方法可以对月度数据进行处理
答案 0 :(得分:1)
将namespace CSharp_Tuples
{
class Program
{
static void Main(string[] args)
{
string PhoneNumbers = "+92315 +92316 +92317 +92318";
var separateNumbers = GetIndividualNumbers(PhoneNumbers);
string firstNumber = separateNumbers.Item1;
string secondNumber = separateNumbers.Item2;
string thirdNumber = separateNumbers.Item3;
string fourthNumber = separateNumbers.Item4;
Console.WriteLine(firstNumber);
Console.WriteLine(secondNumber);
Console.WriteLine(thirdNumber);
Console.WriteLine(fourthNumber);
}
static Tuple<string, string, string, string> GetIndividualNumbers(string allNumbers)
{
string[] numbers = allNumbers.Split(' ');
return Tuple.Create<string,string,string,string>(numbers[0],numbers[1],numbers[2],numbers[3]);
}
}
}
设置为pointIntervalUnit
:
month
实时演示:https://jsfiddle.net/BlackLabel/vezdp4nf/
API参考:https://api.highcharts.com/highstock/series.column.pointIntervalUnit