亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Highcharts是一款非常流行的JavaScript圖表庫(kù),它可以展示各種形式的數(shù)據(jù)。燭臺(tái)圖(Candlestick Chart)是一種專門用來(lái)展示股票等金融數(shù)據(jù)的圖表類型,可以直觀地展現(xiàn)開盤價(jià)、收盤價(jià)、最高價(jià)、最低價(jià)等信息。本文將介紹如何在Highcharts中使用燭臺(tái)圖來(lái)展示數(shù)據(jù),并給出具體的代碼示例。

一、準(zhǔn)備工作

在使用Highcharts之前,我們需要先引入Highcharts的JavaScript文件。可以通過CDN或者下載本地文件的方式引入,這里以CDN方式為例:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/highcharts.js"></script>

登錄后復(fù)制

另外,為了方便展示數(shù)據(jù),這里使用了一個(gè)開源的JavaScript庫(kù)Faker.js,用來(lái)生成隨機(jī)數(shù)據(jù)。同樣可以通過CDN方式引入:

<script src="https://cdn.jsdelivr.net/npm/Faker.js"></script>

登錄后復(fù)制

二、創(chuàng)建容器

要展示Highcharts圖表,首先需要?jiǎng)?chuàng)建一個(gè)容器元素,通常是一個(gè)div標(biāo)簽,并指定一個(gè)ID,例如:

<div id="chart-container"></div>

登錄后復(fù)制

這里我們將圖表容器的ID設(shè)置為“chart-container”。

三、設(shè)置數(shù)據(jù)

在這里,我們需要生成一些假數(shù)據(jù)來(lái)展示燭臺(tái)圖。我們可以使用Faker.js庫(kù)來(lái)生成隨機(jī)數(shù)據(jù),然后將其格式化為Highcharts所需的數(shù)據(jù)格式。以下是一個(gè)生成100個(gè)數(shù)據(jù)點(diǎn)的示例:

let data = [];
for (let i = 0; i < 100; i++) {
  let open = parseFloat(Faker.Finance.amount(1000, 5000));
  let high = parseFloat(Faker.Finance.amount(open, open * 1.1));
  let low = parseFloat(Faker.Finance.amount(open * 0.9, open));
  let close = parseFloat(Faker.Finance.amount(low, high));
  data.push([i, open, high, low, close]);
}

登錄后復(fù)制

以上代碼會(huì)生成一個(gè)包含100個(gè)數(shù)據(jù)點(diǎn)的數(shù)組,每個(gè)數(shù)據(jù)點(diǎn)都是一個(gè)包含五個(gè)值的數(shù)組,分別為數(shù)據(jù)點(diǎn)的索引、開盤價(jià)、最高價(jià)、最低價(jià)和收盤價(jià)。

四、創(chuàng)建燭臺(tái)圖

有了數(shù)據(jù)之后,我們就可以創(chuàng)建一個(gè)基本的燭臺(tái)圖了。以下是一個(gè)簡(jiǎn)單的示例代碼:

Highcharts.chart('chart-container', {
  chart: {
    type: 'candlestick'
  },
  title: {
    text: '股票數(shù)據(jù)'
  },
  series: [{
    data: data
  }]
});

登錄后復(fù)制

以上代碼將會(huì)在“chart-container”容器中創(chuàng)建一個(gè)燭臺(tái)圖,數(shù)據(jù)采用之前生成的隨機(jī)數(shù)據(jù)。其中:

type: 'candlestick'指定了圖表類型為燭臺(tái)圖。title: { text: '股票數(shù)據(jù)' }設(shè)置了圖表標(biāo)題為“股票數(shù)據(jù)”。series: [{ data: data }]指定了數(shù)據(jù)系列,將之前生成的隨機(jī)數(shù)據(jù)設(shè)置為數(shù)據(jù)系列。

五、自定義樣式

默認(rèn)的燭臺(tái)圖樣式可能并不符合我們的需求,需求自定義樣式。以下是一個(gè)稍微復(fù)雜一些的示例代碼,可以實(shí)現(xiàn)更豐富的樣式效果:

Highcharts.chart('chart-container', {
  chart: {
    type: 'candlestick'
  },
  title: {
    text: '股票數(shù)據(jù)'
  },
  xAxis: {
    labels: {
      formatter: function () {
        return data[this.value][0];
      }
    }
  },
  yAxis: {
    opposite: false,
    labels: {
      formatter: function () {
        return '$' + this.value;
      }
    }
  },
  tooltip: {
    pointFormat: '<span style="font-weight:bold">{series.name}</span><br>' +
        '開盤價(jià): <b>${point.open}</b><br/>' +
        '最高價(jià): <b>${point.high}</b><br/>' +
        '最低價(jià): <b>${point.low}</b><br/>' +
        '收盤價(jià): <b>${point.close}</b><br/>'
  },
  plotOptions: {
    candlestick: {
      color: '#0f0',
      upColor: '#f00',
      lineColor: '#000',
      upLineColor: '#000',
      lineWidth: 1
    }
  },
  series: [{
    name: '股票價(jià)格',
    data: data
  }]
});

登錄后復(fù)制

在以上代碼中,我們可以看到添加了以下內(nèi)容:

xAxis.labels.formatter屬性將X軸的標(biāo)簽設(shè)置為數(shù)據(jù)索引。yAxis.labels.formatter屬性將Y軸的標(biāo)簽設(shè)置為美元符號(hào),這里也可以根據(jù)實(shí)際需要進(jìn)行修改。tooltip.pointFormat屬性調(diào)整了提示框的格式,包含開盤價(jià)、最高價(jià)、最低價(jià)和收盤價(jià)等信息。plotOptions.candlestick屬性用于設(shè)置燭臺(tái)圖的樣式,這里我們指定了上漲和下跌的顏色和邊框顏色,并將線寬設(shè)為1。

六、總結(jié)

使用Highcharts展示燭臺(tái)圖并不是很復(fù)雜。首先我們需要準(zhǔn)備好數(shù)據(jù),然后創(chuàng)建一個(gè)容器元素指定ID,接著需要?jiǎng)?chuàng)建一個(gè)Highcharts實(shí)例并將容器ID傳入,最后設(shè)置數(shù)據(jù)、樣式、標(biāo)題等屬性即可。當(dāng)然,具體樣式的設(shè)置還需根據(jù)實(shí)際情況進(jìn)行調(diào)整。以下是完整的示例代碼:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/highcharts.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/Faker.js"></script>
  <title>Highcharts展示燭臺(tái)圖示例</title>
</head>
<body>
  <div id="chart-container"></div>

  <script>
    let data = [];
    for (let i = 0; i < 100; i++) {
      let open = parseFloat(Faker.Finance.amount(1000, 5000));
      let high = parseFloat(Faker.Finance.amount(open, open * 1.1));
      let low = parseFloat(Faker.Finance.amount(open * 0.9, open));
      let close = parseFloat(Faker.Finance.amount(low, high));
      data.push([i, open, high, low, close]);
    }

    Highcharts.chart('chart-container', {
      chart: {
        type: 'candlestick'
      },
      title: {
        text: '股票數(shù)據(jù)'
      },
      xAxis: {
        labels: {
          formatter: function () {
            return data[this.value][0];
          }
        }
      },
      yAxis: {
        opposite: false,
        labels: {
          formatter: function () {
            return '$' + this.value;
          }
        }
      },
      tooltip: {
        pointFormat: '<span style="font-weight:bold">{series.name}</span><br>' +
            '開盤價(jià): <b>${point.open}</b><br/>' +
            '最高價(jià): <b>${point.high}</b><br/>' +
            '最低價(jià): <b>${point.low}</b><br/>' +
            '收盤價(jià): <b>${point.close}</b><br/>'
      },
      plotOptions: {
        candlestick: {
          color: '#0f0',
          upColor: '#f00',
          lineColor: '#000',
          upLineColor: '#000',
          lineWidth: 1
        }
      },
      series: [{
        name: '股票價(jià)格',
        data: data
      }]
    });
  </script>
</body>
</html>

登錄后復(fù)制

分享到:
標(biāo)簽:Highcharts 如何在 展示 數(shù)據(jù) 燭臺(tái)
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定