2013-03-14 80 views
0

我在图形轴上使用的标签包含具有多个单词的文本。就像这样:jqplot:将xaxis刻度文本拆分为单词

enter image description here

,它看起来不错。我尝试过(如图中所示),用brs或\ n替换智慧空间以便将文本呈现在多行中。结果不是我期望得到的结果。

如何将滴答文本分成单词并在一行中绘制每个单词?

回答

2

<br/>正在尝试将您的文本分成两行。看一个工作示例here

为了使它工作,不要忘记加载一些jqplot插件:CanvasAxisTickRenderer,CategoryAxisRenderer。 然后您需要将tickRenderer: $.jqplot.CanvasAxisTickRenderer应用于您的系列。你需要将renderer: $.jqplot.CategoryAxisRenderer应用到你的yaxis上。

+0

感谢您的例子。我看到它工作。但在我的代码中 - 我动态地构建了这个系列,并且我不能让它工作。就我而言,正如你所看到的,如果我使用“\ n”,
或空格被渲染而不是新行。我不知道我在做什么雾! – 2013-03-17 09:45:02

+0

您可以检查“
”标签和“\ n”是否被转义? CanvasAxisTickRenderer插件是否装载良好并在您的系列中使用? – AnthonyLeGovic 2013-03-18 07:36:36

+0

所有问题都是因为我在客户端使用的框架来管理页面的元素。我在与其他图形呈现相同的地方运行你的例子,并且你的图形正确渲染 - 用单词分割成行 - 另一个不是。如何在运行时使用萤火虫检查
是否已被转义? – 2013-03-18 07:45:45

0

对我来说,< br/>没有工作,并且\ n没有。

我的配置:

jQuery.jqplot(element, configuration.series, { 
     stackSeries: true, 
     animate: false, 
     captureRightClick: false, 
     seriesColors: ['green', 'blue', 'yellow', 'orange', 'red'], 
     seriesDefaults: { 
      renderer: jQuery.jqplot.BarRenderer, 
      rendererOptions: { 
       shadowOffset: 0, 
       barDirection: 'horizontal', 
       highlightMouseDown: false, 
       barWidth: 20, 
      }, 
      pointLabels: { 
       show: false 
      } 
     }, 
     axesDefaults: { 
      min: 0, 
      minorTicks: 0, 
      tickOptions: { 
       formatString: '%d' 
      } 
     }, 
     highlighter: { 
      show: false 
     }, 
     axes: { 
      yaxis: { 
       renderer: jQuery.jqplot.CategoryAxisRenderer, 
       ticks: configuration.labels 
      }, 
      xaxis: { 
       ticks: configuration.ticks, 
       label:'Hours', 
       labelOptions:{ 
        fontFamily:'Helvetica', 
        fontSize: '10pt' 
       }, 
      } 
     } 
    });