2012-11-02 64 views
0

我想呈现饼图的图例,以便它有一个固定的宽度,并且当标签达到该宽度(div持有人)在下一行连字符。我尝试了行选项,但它不能很好地工作,因为我的数据是动态的,有时我说3个数据集,每个都在一个单独的行中呈现,而在其他时间,我有15-20个数据套,它变得凌乱。jqplot饼图图例宽度

无论如何,解决方案是将图例限制在div的宽度,它被渲染成,但它似乎不接受任何css的变化。我试着添加宽度:250px;到jqPlot css中的“jqplot-table-legend”,我也尝试在Chrome中使用Inspect Element来将它添加到各个位置,以测试它是否有效,但它似乎不接受新的宽度。我也尝试在不同的地方将代码硬编码到JavaScript文件中,但没有运气。

我不确定我可以在代码中添加什么问题。在jqPlot方面一切都很标准。

有关如何解决此问题的任何建议将不胜感激。

回答

0

这看起来像是快速和肮脏的方式,但它完成了工作。我将使用jqplot.pieRenderer.js文件作为示例,因为它比缩小版本更易于阅读。打开js文件和右下

this._elem = $(document.createElement('table')); 
this._elem.addClass('jqplot-table-legend'); 

向下滚动到线568添加

this._elem.css({width: 300}); 

这将伸展台出任何宽度你需要它。不幸的是,这也延伸出列与颜色样本,所以你现在需要进一步向下滚动一点,直到你找到

td1.css({textAlign: 'center', paddingTop: rs}); 

变化,要

td1.css({width: 16, textAlign: 'center', paddingTop: rs}); 

,你应该准备就绪。

+0

你好迈克,这似乎是馅饼渲染的正确答案,我从那以后就改变了它,直到甜甜圈悲伤。我尝试了你的答案,并在'this._elem = $('

'' ,但似乎还不够。你也有甜甜圈小费吗?我会接受上述答案。 – Ando

+0

我做了250px的图例,但问题是每个标签都在一个新的行上,我不能让它们相互浮动。 – Ando

+1

好的,所以我提出的解决方案是将''放到div容器中并将它浮动到左边,这足以解决问题。感谢提示,他们是一个很好的指导,寻找解决方案。 – Ando