首頁 > 軟體

如何獲取echarts點選點的X軸和Y軸值

2019-12-12 22:43:56

      在做專案的過程中,我要用到echarts圖形,並且要獲取點選折線點的值。之前一直都在用FusionCharts,沒有用到echarts,現在要用到得學習下,了解它的屬性和事件。以下是怎麼獲取折線圖中點的X軸值和Y軸值,具體步驟如下:

1

首先,在Java Web專案中新建一個JSP頁面someChart.jsp,引入echarts核心JS

<script type="text/javascript" src="<%=basePath%>/scripts/echarts/build/dist/echarts.js"></script>

<script type="text/javascript">

   // 路徑設定

   require.config({

            paths: {

                echarts: "<%=basePath%>/scripts/echarts/build/dist"

            }

        });

</script>

如下圖所示:


2

由於這裡要用到折線圖,需要將摺線圖的JS引入

require(

            [

                'echarts',

                'echarts/chart/line' 

            ],

如下圖所示:


3

圖形要在頁面上顯示,需要一個容器,這裡在body裡定義一個div

<body>

     <div id="lineChart" style="width: 100%;height:100%;font-family: 微軟雅黑;font-size: 12px;"></div>

  </body>

如下圖所示:


4

現在,編寫形成折線圖的核心js

function (ec) {

                var line = ec.init(document.getElementById('lineChart')); 

                

                var option = {

                    tooltip: {

                        show: true

                    },

                    legend: {

                        data:['銷量']

                    },

                    xAxis : [

                        {

                            type : 'category',

                            data : ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]

                        }

                    ],

                    yAxis : [

                        {

                            type : 'value'

                        }

                    ],

                    series : [

                        {

                            "name":"蘋果銷售量",

                            "type":"line",

                            "data":[8956, 2025, 3640, 5610, 8910, 5720, 3467, 9023, 8367, 5342, 6754, 8753]

                        }

                    ]

                };

        

                line.setOption(option); 

            }

如下圖所示:



5

啟動Tomcat伺服器,在瀏覽器上執行JSP頁面,會看到一個折線圖

如下圖所示:


6

點選折線上的折點,會獲取到X軸和Y軸值,說明這個需要給圖一個點選事件,具體程式碼如下:

function queryXY(param)

  {

                var seriesIndex = param.seriesIndex;

                var dataIndex = param.dataIndex;

                var seriesName = param.seriesName;

                var name = param.name;

                var data = param.data;

                var value = param.value;

              

                console.dir(param);

 }


7

由於在js利用console列印,可以在火狐瀏覽器上檢視相應的引數指標,具體如下圖所示:


8

在函數中新增alert,將引數指標列印在頁面上

var str = "seriesIndex:"+seriesIndex+"****"+"dataIndex:"+dataIndex+"****"+"seriesName:"+seriesName+"****"+

                         "name:"+name+"****"+"data:"+data+"****"+"value:"+value;

                alert(str);

如下圖所示:


9

再次重新整理瀏覽器,等折線出來後,點選上面的點

如下圖所示:



IT145.com E-mail:sddin#qq.com