[英]Why is the Highcharts tick placement different in two similar charts?
我對兩個相似的Highcharts圖表中的刻度線位置有疑問。 在第一個示例中,我指定了xAxis
屬性,在第二個示例中,我指定了系列中的x
和y
值。 數據完全相同,但是您可以看到刻度線的位置不同。 我嘗試使用tickmarkPlacement
, minPadding
和maxPadding
使第一個示例看起來像第二個示例,但是沒有成功。
有人可以告訴我兩個圖表,將刻度線如此不同,如何使第一個示例看起來像第二個示例嗎?
代碼和jsFiddles:
編碼:
$('#container').highcharts(
{
"series": [
{
"name": "Series 1",
"data": [
69.78,
2235.83,
69.78,
908.36,
69.78,
174.78
],
"color": "#0084cb",
"opposite": false
}
],
"xAxis": {
"categories": [
"2015",
"2016",
"2017",
"2018",
"2019",
"2020"
],
"tickmarkPlacement": "on"
}
}
);
圖表:
http://jsfiddle.net/fw9o4fjh/5/
編碼:
$('#container').highcharts(
{
"series": [
{
"name": "Series 1",
"data": [
{
"y": 69.78,
"x": 2015
},
{
"y": 2235.83,
"x": 2016
},
{
"y": 69.78,
"x": 2017
},
{
"y": 908.36,
"x": 2018
},
{
"y": 69.78,
"x": 2019
},
{
"y": 174.78,
"x": 2020
}
],
"color": "#0084cb",
"opposite": false
}
]
}
);
區別在於分類軸類型與線性軸類型。
類別軸類型為每個類別保留一個偶數空間,這就是為什么您在x軸的開始和結束處看到“額外”空間的原因。
如果在圖表上啟用crosshairs
,並將鼠標懸停在一個點上,您將看到一個很好的說明,說明了它如何處理軸間距:
您可以按照想要的方式操作分類軸的方法之一是使用最小值和最大值,如下所示:
xAxis: {
min:0.4,
max:4.6,
...
例:
它遠非精確或理想,但由於邏輯原因,類別按它們的方式工作,如果您希望圖表像線性示例一樣進行繪制,則最好的做法是使用線性軸-否則,在談論日期時,請使用datetime
軸類型。
無論哪種情況,都可以使用pointStart
和pointInterval
屬性來避免在數據中發送x值。
例:
不同的刻度位置是因為第一個圖表使用了“ xAxis”,第二個圖表使用了“ data”。 更改圖表,使它們都使用相同的數據方法,並且外觀應相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.