2013-10-23 167 views
2

我有2个不同yAxis标题的图表。我需要标题是水平的并且对齐到右边(在Y线的左侧)。HighCharts:如何对齐水平yAxis标题

标题对齐只适用于垂直居中。 (我需要我的标题在中间)

我尝试添加文本对齐样式没有成功。

yAxis: { 
    "title": { 
     "style": { 
      "textAlign": "right" 
     } 
    } 
} 

http://jsfiddle.net/g7kUc/

很想听听你对如何解决此问题的想法。

回答

4

你会喜欢这个,没有记录选项“textAlign”,但不是风格,但标题属性。例如:http://jsfiddle.net/g7kUc/1/

yAxis: { 
     "title": { 
      "text": "test", 
      "textAlign": "right" 
     } 
    } 
1

一种方法是只是两个轴标签指定不同的偏移:

offset:25 

offset:40 

http://jsfiddle.net/CTPe9/

我知道这是一个有点手册,但它有正确的效果。如果标签的长度发生变化,您应该能够根据字符串的长度和使用的字体计算正确的偏移量。

另一种方法是根本不使用标题。你有更多的控制标签:

"labels": { 
      "style": { 
       "fontWeight":"bold", 
       "color": "#6D869F", 
       "textAlign": "right" 
      }, 
      "enabled": true, 
      "align":"right", 
      y:-60, 
      formatter: function() { 
       if (this.isFirst) { 
       return "12345"; 
       } else { 
        return ""; 
       } 
      } 
     }, 

这个小提琴显示它在行动http://jsfiddle.net/zNHhh/

它的工作原理是只显示一个标签(在格式化函数中)。然后这个标签正确对齐,并使用'y'参数移动。

+1

这是静态网站的绝佳解决方案。但我的网站是动态的,文字根据语言和结果改变 –

+0

我已经添加了一种替代方法。 – SteveP

+0

它的工作原理...但在我的情况下,该网站的大小可调整,并且我不希望每次用户更改窗口的大小时计算标题的位置。 PawełFus答案为我做了跋涉。 –