2012-11-02 154 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