JsChart組件使用詳解
JsChart是什么?
JSChart能夠在網(wǎng)頁(yè)上生成圖標(biāo),常用于統(tǒng)計(jì)信息,十分好用的一個(gè)JS組件。
使用JsChart
一。導(dǎo)入jscharts.js
二。編寫jscharts.jsp測(cè)試頁(yè)面
1.下載JScharts庫(kù) 從官網(wǎng)下載JScharts庫(kù),我們使用的是壓縮包里面的jscharts.js文件。它大約150KB。
使用JScharts庫(kù) 在網(wǎng)頁(yè)文件(如.html或.jsp)包含JScharts庫(kù)。
<script type="text/javascript" src="js/jscharts.js"></script>
定義容器 要在網(wǎng)頁(yè)文件上顯示JScharts生成的圖像,需要把此圖像放入網(wǎng)頁(yè)容器。此網(wǎng)頁(yè)容器我們通常用
標(biāo)簽來定義,而且必須強(qiáng)制性地為此DIV元素指定唯一的ID值。比如:
<div id="chartcontainer">這里將用來顯示圖形報(bào)表</div>
注意:此DIV容器內(nèi)的內(nèi)容都會(huì)被JScharts圖像所替代。
顯示JScharts圖像 下面,我們需要寫少量代碼來顯示一個(gè)線性圖。首先要準(zhǔn)備好圖像所需的數(shù)據(jù),我們可以用JavaScript數(shù)組來提供數(shù)據(jù),數(shù)組中的每個(gè)元素都是由2個(gè)元素所組成
<script type="text/javascript">
var myData = new Array([ "商品1", 20 ], [ "商品2", 10 ], [ "商品3", 30 ], [ "商品4", 10 ],
[ "商品5", 5 ]);
var myChart = new JSChart('chartcontainer', 'line');
myChart.setDataArray(myData);
myChart.draw();
</script>
5.使用詳細(xì)說明
<body>
<div id="chartcontainer">這里將用來顯示圖形報(bào)表</div>
<script type="text/javascript">
//支持js二維數(shù)組、json格式、xml格式數(shù)據(jù)源
var myData = new Array([ "商品1", 20 ], [ "商品2", 10 ], [ "商品3", 30 ], [ "商品4", 10 ],
[ "商品5", 5 ]);
//第二個(gè)參數(shù)值有:line,bar,pie分別表示用線形圖、柱狀圖、餅圖來展示報(bào)表
var myChart = new JSChart('chartcontainer', 'line');
//數(shù)據(jù)源處理方式一:setDataArray(myData)使用js數(shù)組
//myChart.setDataArray(myData);
//數(shù)據(jù)源處理方式二:setDataJSON使用json格式數(shù)據(jù)
//myChart.setDataJSON("data.json");
//數(shù)據(jù)源處理方式三:setDataXML使用xml格式數(shù)據(jù)
myChart.setDataXML("data.xml");
myChart.setTitle('測(cè)試報(bào)表');
myChart.draw();
</script>
<!-- var myChart = new JSChart('chart_container', $("#type").val(),'');
setAxisColor(string hexcolor)設(shè)置軸線顏色,對(duì)餅圖無效。參數(shù)為16進(jìn)制顏色值。
resize(integer x, integer y)重置圖表大小,默認(rèn)x/y為400px/300px,新值應(yīng)是默認(rèn)值的整數(shù)倍.
setAxisNameColor(string hexcolor)設(shè)置軸線名的顏色,對(duì)餅圖無效。
setAxisNameFontSize(integer fontsize)設(shè)置軸線名字體大小,對(duì)餅圖無效。默認(rèn)是11。
setAxisNameX(string axisname)設(shè)置x軸的名稱,對(duì)餅圖無效。
setAxisNameY(string axisname)設(shè)置y軸的名稱,對(duì)餅圖無效。
setAxisPaddingBottom(integer padding)設(shè)置x軸和容器底部的距離,默認(rèn)30。
setAxisPaddingLeft(integer padding)設(shè)置y軸和容器左邊距的距離,默認(rèn)40。
setAxisPaddingRight(integer padding)設(shè)置圖表右邊和容器的距離,默認(rèn)30。
setAxisPaddingTop(integer padding)設(shè)置圖表上邊和容器的距離,默認(rèn)30。
setAxisValuesColor(string hexcolor)設(shè)置x/y軸值刻度值的顏色,對(duì)餅圖無效。
setAxisValuesDecimals(integer decimals)設(shè)置曲線圖的x/y軸值,或柱狀圖的y軸值,對(duì)餅圖無效,默認(rèn)是auto。
setAxisValuesFontSize(integer fontsize)設(shè)置兩軸上值的字體大小,對(duì)餅圖無效。
setAxisValuesNumberX(integer number)設(shè)置x軸上顯示的值的個(gè)數(shù),此值會(huì)自動(dòng)調(diào)整,對(duì)餅圖無效。
setAxisValuesNumberY(integer number)設(shè)置x軸上顯示的值的個(gè)數(shù),此值會(huì)自動(dòng)調(diào)整,對(duì)餅圖無效。
setAxisWidth(integer width)設(shè)置軸的寬度,默認(rèn)是2。
setBackgroundColor(string hexcolor)設(shè)置整個(gè)圖表的背景顏色,默認(rèn)是#FFF。
setBackgroundImage(string filename)設(shè)置圖表的背景圖片,圖片會(huì)自動(dòng)沿兩軸重復(fù)。
setBarBorderColor(string hexcolor)設(shè)置柱狀圖的條形邊框顏色,只對(duì)柱狀圖有效,默認(rèn)#C4C4C4。
setBarBorderWidth(integer width)設(shè)置柱狀圖邊框?qū)挾?,只?duì)柱狀圖有效。
setBarColor(string hexcolor)設(shè)置柱狀圖所有矩形的顏色,此函數(shù)被colorize()函數(shù)重寫,只對(duì)柱狀圖有效。
setBarOpacity(float opacity)設(shè)置柱狀圖的透明度,值在0~1之間,默認(rèn)0.9。
setBarSpacingRatio(integer ratio)設(shè)置柱狀圖矩形間距,由此來控制柱狀圖的寬度,值為0~100之間的整數(shù),默認(rèn)是10。
setBarValues(boolean values)設(shè)置是否在矩形頂端顯示值。
setBarValuesColor(string hexcolor)設(shè)置柱狀圖矩形的值的顏色。
setBarValuesDecimals(integer decimals)設(shè)置柱狀圖矩形高度的值,值為十進(jìn)制數(shù),默認(rèn)auto。
setBarValuesFontSize(integer fontsize)設(shè)置柱狀圖矩形值的字體大小,默認(rèn)8.
setCanvasIdPrefix(string prefix)自定義生產(chǎn)元素的ID前綴,默認(rèn)是JSChart,此值一般不用修改。
setDataArray(array data, string id)將數(shù)據(jù)以數(shù)組的形式導(dǎo)入圖表,id參數(shù)是可選的,并且可以設(shè)置相同的id。
setDataXML(string filename)將數(shù)據(jù)以xml的形式導(dǎo)入到圖表。
setFlagColor(string hexcolor)為提示標(biāo)志設(shè)置顏色。
setFlagOffset(integer offset)設(shè)置提示標(biāo)志的偏移量,只適用于餅圖。
setFlagOpacity(float opacity)設(shè)置提示標(biāo)志的透明度,0~1之間,默認(rèn)0.5.
setFlagRadius(integer radius)設(shè)置提示標(biāo)志的半徑,默認(rèn)3.
setFlagWidth(integer width)設(shè)置提示標(biāo)志邊框?qū)挾?,默認(rèn)1.
setGraphExtend(boolean extend)設(shè)置是否開啟圖表延伸功能,默認(rèn)是false,如果打開,雙軸和網(wǎng)格線將擴(kuò)展當(dāng)前長(zhǎng)度的1/15,這樣可以在樣式上更加美觀.
setGraphLabel(string label)設(shè)置自定義圖表水印標(biāo)簽文字。
setGraphLabelColor(string hexcolor)設(shè)置自定義圖表水印標(biāo)簽顏色。
setGraphLabelFontSize(integer fontsize)設(shè)置自定義圖表水印標(biāo)簽的字體大小,默認(rèn)8.
setGraphLabelOpacity(float opacity)設(shè)置自定義圖表水印標(biāo)簽的透明度。
setGraphLabelPosition(string position)設(shè)置自定義圖表水印標(biāo)簽的位置,取值范圍在(nw, ne, sw ,se),分別定位在四個(gè)角,默認(rèn)ne,即右上角。
setGraphLabelShadowColor(string hexcolor)設(shè)置自定義圖表水印標(biāo)簽的陰影顏色。
setGrid(boolean grid)設(shè)置是否顯示網(wǎng)格線。
setGridColor(string hexcolor)設(shè)置網(wǎng)格線的顏色,默認(rèn)#C6C6C6。
setGridOpacity(float opacity)設(shè)置網(wǎng)格線透明度,取值在0~1之間,默認(rèn)0.5。
setIntervalEndX(integer end)設(shè)置x軸的結(jié)束值,如果設(shè)置了起始值,則此值必須比起始值大。
setIntervalEndY(integer end)設(shè)置y軸的結(jié)束值,如果設(shè)置了起始值,則此值必須比起始值大。
setIntervalStartX(integer start)設(shè)置x軸的起始值,如果設(shè)置了結(jié)束值,則此值必須比結(jié)束值小。
setIntervalStartY(integer start)設(shè)置y軸的起始值,如果設(shè)置了結(jié)束值,則此值必須比結(jié)束值小。
setLabelX(array label)在x軸上添加標(biāo)簽,其參數(shù)是兩個(gè)值構(gòu)成的一個(gè)數(shù)組,第一個(gè)參數(shù)為標(biāo)簽在x軸上的位置,第二個(gè)值為標(biāo)簽顯示的內(nèi)容。
setLabelY(array label)在y軸上添加標(biāo)簽,其參數(shù)是兩個(gè)值構(gòu)成的一個(gè)數(shù)組,第一個(gè)參數(shù)為標(biāo)簽在y軸上的位置,第二個(gè)值為標(biāo)簽顯示的內(nèi)容。
setLineColor(string hexcolor, string id)設(shè)置曲線圖中曲線的顏色。參見曲線圖示例3.
setLineOpacity(float opacity, string id)設(shè)置曲線圖中曲線的透明度,取值0~1之間,默認(rèn)0.9。參數(shù)id的意義同上。
setLineWidth(integer width, string id)設(shè)置曲線圖中曲線的寬度,默認(rèn)2.
setPieOpacity(float opacity)設(shè)置餅圖的透明度,取值0~1,默認(rèn)1.
setPiePosition(integer x, integer y)設(shè)置餅圖在容器內(nèi)的位置,默認(rèn)0,即位于容器的中央.
setPieRadius(integer radius)設(shè)置餅圖的半徑。
setPieUnitsColor(string hexcolor)設(shè)置餅圖塊名的顏色。
setPieUnitsFontSize(integer fontsize)設(shè)置餅圖塊名的字體大小。
setPieUnitsOffset(integer offset)設(shè)置餅圖塊名的位置,整數(shù)外移,負(fù)數(shù)內(nèi)移。
setPieValuesColor(string hexcolor)設(shè)置餅圖值的顏色。
setPieValuesDecimals(integer decimals)設(shè)置餅圖上的總值。
setPieValuesFontSize(integer fontsize)設(shè)置餅圖上值的字體大小。
setPieValuesOffset(integer offset)設(shè)置餅圖上值的偏移,整數(shù)外移,負(fù)數(shù)內(nèi)移,默認(rèn)-20。
setShowXValues(boolean show)是否顯示x軸上的刻度值。
setShowYValues(boolean show)是否顯示y軸上的刻度值。
setSize(integer x, integer y)預(yù)定義容器的大小,需用在draw()函數(shù)之前。
setTextPaddingBottom(integer padding)設(shè)置x軸上標(biāo)簽文字與容器下邊的距離,默認(rèn)1.
setTextPaddingLeft(integer padding)設(shè)置y軸上標(biāo)簽文字與容器左邊的距離,默認(rèn)8.
setTextPaddingTop(integer padding)設(shè)置圖表頂端與容器上邊的距離,默認(rèn)15.
setTitle(string title)設(shè)置圖表標(biāo)題,默認(rèn)“JSChart”。
setTitleColor(string hexcolor)設(shè)置標(biāo)題顏色。
setTitleFontSize(integer fontsize)設(shè)置標(biāo)題字體大小。
setTitlePosition(string position)設(shè)置標(biāo)題位置,取值范圍(center, left , right.)。
setTooltip(array tooltip)設(shè)置x軸上提示。
setTooltipBackground(string hexcolor)設(shè)置提示背景。
setTooltipBorder(string css)設(shè)置提示背景邊框風(fēng)格,參數(shù)是css表達(dá)式,默認(rèn)是 1px solid #d3d3d3。
setTooltipFontColor(string hexcolor)設(shè)置提示內(nèi)容顏色。
setTooltipFontFamily(string font)設(shè)置提示字體風(fēng)格,默認(rèn)arial.
setTooltipFontSize(integer fontsize)設(shè)置提示內(nèi)容字體大小,默認(rèn)12.
setTooltipOffset(integer offset)設(shè)置提示內(nèi)容偏移,默認(rèn)7。
setTooltipOpacity(float opacity)設(shè)置提示透明度,默認(rèn)0.7.
setTooltipPadding(string css)設(shè)置提示padding樣式,默認(rèn) 2px 5px。
setTooltipPosition(string position)設(shè)置提示位置,取值范圍 nw, ne, sw and se 默認(rèn)se。
setLegendShow(boolean show)設(shè)置是否顯示圖例
-->
</body>
統(tǒng)計(jì)指定時(shí)間段向各個(gè)供應(yīng)商的采購(gòu)金額
使用selectsupplier.jsp
action:
@Resource
private AccountRecordsService accountRecordsService;
@RequestMapping("/selectSupplier")
@ResponseBody
public Object selectSupplier(String start,String end){
System.out.println("start:"+ start+"||end:"+end);
Map<String, String> paramMap =new HashMap<String, String>();
paramMap.put("start", start);
paramMap.put("end", end);
return accountRecordsService.selectSupplier(paramMap);
}
public interface AccountRecordsService extends BaseService<AccountRecords> {
List<Map<String, Object>> selectSupplier(Map<String,String> paramMap);
}
@Service("accountRecordsService")
public class AccountRecordsServiceImpl extends BaseServiceImpl<AccountRecords>
implements AccountRecordsService {
@Override
public List<Map<String, Object>> selectSupplier(Map<String, String> paramMap) {
// TODO Auto-generated method stub
return accountRecordsMapper.selectSupplier(paramMap);
}
}
public interface AccountRecordsMapper extends BaseMapper<AccountRecords> {
List<Map<String, Object>> selectSupplier(Map<String, String> paramMap);
}
<select id="selectSupplier" parameterType="map" resultType="map">
<![CDATA[
select sum(ar_payable) total,sup_name from account_records inner join supplier
on account_records.sup_id=supplier.sup_id
where ar_date >#{start} and ar_date<=#{end} and ar_bus_type='bo'
group by sup_name
]]>
</select>
select sum(ar_payable) total,sup_name from account_records inner join supplier on account_records.sup_id=supplie
總結(jié)
以上所述是小編給大家介紹的JsChart組件使用詳解,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
詳解Bootstrap的aria-label和aria-labelledby應(yīng)用
這篇文章主要介紹了詳解Bootstrap的aria-label和aria-labelledby應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-01-01
es6 for循環(huán)中l(wèi)et和var區(qū)別詳解
這篇文章主要介紹了es6 for循環(huán)中l(wèi)et和var區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
javascript如何判斷數(shù)組內(nèi)元素是否重復(fù)的方法集錦
javascript如何判斷數(shù)組內(nèi)元素是否重復(fù)的方法集錦...2007-02-02
使用js判斷數(shù)組中是否包含某一元素(類似于php中的in_array())
這篇文章主要是對(duì)使用js判斷數(shù)組中是否包含某一元素(類似于php中的in_array())需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12
基于JavaScript實(shí)現(xiàn)手機(jī)短信按鈕倒計(jì)時(shí)(超簡(jiǎn)單)
在淘寶等購(gòu)物網(wǎng)站,我們都會(huì)看到一個(gè)發(fā)送短信倒計(jì)時(shí)的按鈕,究竟是如何實(shí)現(xiàn)的呢?下面小編通過本篇文章給大家分享一段代碼關(guān)于js實(shí)現(xiàn)手機(jī)短信按鈕倒計(jì)時(shí),需要的朋友參考下2015-12-12
如何讓一個(gè)json文件顯示在表格里【實(shí)現(xiàn)代碼】
如何讓一個(gè)json文件顯示在表格里?下面小編就為大家?guī)硪黄屢粋€(gè)json文件顯示在表格里的實(shí)現(xiàn)代碼。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-05-05
JavaScript 字符串與數(shù)組轉(zhuǎn)換函數(shù)[不用split與join]
下面的代碼,不考慮他的運(yùn)行效率的話,思路不錯(cuò),大家可以看看,但在實(shí)際的應(yīng)用中,我們?nèi)匀皇褂胹plit或join來實(shí)現(xiàn)數(shù)組的操作。2009-12-12
eslint+prettier統(tǒng)一代碼風(fēng)格的實(shí)現(xiàn)方法
這篇文章主要介紹了eslint+prettier 統(tǒng)一代碼風(fēng)格的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

