使用百度echarts仿雪球分时图(一)

第一次写技术博客,有不足的地方希望大家指证出来,我再加以改正,谢谢大家。

之前一直没有找到一个合适的分时图项目,所以决定自己动手撸一个。接触的图表框架不多,在网上看到不少人推荐使用echarts,看了一下,很不错,例子多,文档也全,简单的过了一下配置项,感觉可以,就选择了使用echarts来实现。

这是雪球的分时图效果,接下来我将用几篇文章来讲解如何使用echarts来实现以下效果图。

 

一.分时图的组成

1.仔细看分时图的话,会发现其实分时图是由折线图跟柱状图来组成的。上方的折线图中,左边的数值是价格区间的刻度值,价格区间会有一个中间值,就是基准值(昨日收盘价),在基准值的上方表示上涨多少块,在基准值下方表示下跌多少块,右边的百分比则是表示上涨下跌的百分比。

2.下方柱状图则比较简单,就是单纯的柱状图,颜色再分成红绿色即可。

 

二.Echarts的使用

  1. 下载echarts。下载后解压出来,具体的文件描述就不做讲解。
  2. 创建项目。

    (1) 创建项目

    (2) 新建js文件夹,找到解压的文件夹中的dist文件夹,把echarts.js或者echarts.mim.js复制出来使用。

    (3) 新建index.html文件,并引用echart.min.js

     项目简单结构

  

    (4) 创建一个简单的折线图

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>分时图</title>
        <script type="text/javascript" src="js/echarts.min.js" ></script>
        <style>
            #charts{
                /*折线图的宽度*/
                width:500px;
                /*折线图的高度*/
                height:500px;
            }
        </style>
    </head>
    <body>
        <div id="charts">
        </div>
        <script type="text/javascript">
            // 初始化一个echarts的对象
            var chart =  echarts.init(document.getElementById('charts'));
            
            // echarts折线图的配置项
            var option = {
                // x轴配置
                xAxis: {
                    type: 'category',
                    // x轴显示的数据
                    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                },
                // y轴配置
                yAxis: {
                    type: 'value'
                },  
                series: [{
                    data: [1, 5, 5, 8, 2, 9, 4],
                    // line类型是折线图,bar类型是柱状图
                    type: 'line'
                }]
            };
            
            chart.setOption(option);

        </script>
    </body>
</html>

     效果图

    (5)创建一个简单的柱状图,把之前代码的type:'line',修改为type:'bar'即可

  

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>分时图</title>
        <script type="text/javascript" src="js/echarts.min.js" ></script>
        <style>
            #charts{
                /*折线图的宽度*/
                width:500px;
                /*折线图的高度*/
                height:500px;
            }
        </style>
    </head>
    <body>
        <div id="charts">
        </div>
        <script type="text/javascript">
            // 初始化一个echarts的对象
            var chart =  echarts.init(document.getElementById('charts'));
            
            // echarts折线图的配置项
            var option = {
                // x轴配置
                xAxis: {
                    type: 'category',
                    // x轴显示的数据
                    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                },
                // y轴配置
                yAxis: {
                    type: 'value'
                },  
                series: [{
                    data: [1, 5, 5, 8, 2, 9, 4],
                    // line类型是折线图,bar类型是柱状图
                    type: 'bar'
                }]
            };
            
            chart.setOption(option);

        </script>
    </body>
</html>

    效果图

    (6)把两个图表图片经过合并后,分时图已经有了最初的样子,下一章将进行图表的整合。

  

转载于:https://www.cnblogs.com/jellybean961/p/11222074.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为一名AI语言模型,我没有办法提供具体的HTML代码。但我可以提供一种思路,帮助你完成一个好看的股票分时图,希望对你有所帮助。 首先,你可以使用一些第三方库来绘制股票分时图,比如 Highcharts、ECharts 等。这些库都提供了丰富的 API,可以帮助你快速绘制图表。 其次,你需要准备股票数据。这些数据可以从一些免费的API中获取,比如聚合数据、雪球财经等。 最后,你可以在HTML中引入这些库和数据,并按照库的文档进行配置和绘制。你可以根据自己的需求,调整样式、颜色、字体等。 下面是一个简单的 Highcharts 示例,帮助你入门: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>股票分时图</title> <!-- 引入 Highcharts 库 --> <script src="https://cdn.highcharts.com.cn/highcharts/highcharts.js"></script> </head> <body> <!-- 容器,用于展示股票分时图 --> <div id="container" style="min-width:400px;height:400px"></div> <script> // 准备股票数据 var data = [ [1518028800000, 72.70], [1518032400000, 73.10], [1518036000000, 73.80], [1518039600000, 73.60], [1518043200000, 73.10], [1518046800000, 73.50], [1518050400000, 73.30], [1518054000000, 72.90], [1518057600000, 73.20], [1518061200000, 72.90], [1518064800000, 73.10], [1518068400000, 73.30], [1518072000000, 73.40], [1518075600000, 73.10], [1518079200000, 73.50], [1518082800000, 73.20], [1518086400000, 73.00], [1518090000000, 72.80], [1518093600000, 73.10], [1518097200000, 73.40], [1518100800000, 73.50], [1518104400000, 73.20], [1518108000000, 73.30], [1518111600000, 73.00], [1518115200000, 72.60], [1518118800000, 72.90], [1518122400000, 72.80], [1518126000000, 73.10], [1518129600000, 73.20], [1518133200000, 73.30], [1518136800000, 73.20], [1518140400000, 73.40], [1518144000000, 73.50], [1518147600000, 73.40], [1518151200000, 73.20], [1518154800000, 73.50], [1518158400000, 73.30], [1518162000000, 73.20], [1518165600000, 73.40], [1518169200000, 73.50], [1518172800000, 73.20], [1518176400000, 73.40], [1518180000000, 73.20], [1518183600000, 73.10], [1518187200000, 73.00], [1518190800000, 73.20], [1518194400000, 73.10], [1518198000000, 73.30], [1518201600000, 73.20], [1518205200000, 73.40], [1518208800000, 73.50], [1518212400000, 73.30], [1518216000000, 73.20], [1518219600000, 73.10], [1518223200000, 73.40], [1518226800000, 73.20], [1518230400000, 73.00], [1518234000000, 73.20], [1518237600000, 73.50], [1518241200000, 73.30], [1518244800000, 73.20], [1518248400000, 73.40], [1518252000000, 73.50], [1518255600000, 73.20], [1518259200000, 73.40], [1518262800000, 73.50], [1518266400000, 73.20], [1518270000000, 73.40], [1518273600000, 73.20], [1518277200000, 73.10], [1518280800000, 73.50] ]; // 配置 Highcharts Highcharts.setOptions({ global: { useUTC: false } }); Highcharts.chart('container', { chart: { type: 'area' }, title: { text: '股票分时图' }, xAxis: { type: 'datetime', labels: { formatter: function () { return Highcharts.dateFormat('%H:%M', this.value); } } }, yAxis: { title: { text: '股价' }, labels: { formatter: function () { return this.value + '元'; } } }, tooltip: { pointFormat: '{series.name}:{point.y}元<br>时间:{point.x:%H:%M}' }, plotOptions: { area: { fillColor: { linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, stops: [ [0, Highcharts.getOptions().colors[0]], [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')] ] }, marker: { radius: 2 }, lineWidth: 1, states: { hover: { lineWidth: 1 } }, threshold: null } }, series: [{ name: '股价', data: data }] }); </script> </body> </html> ``` 这里使用了 Highcharts 库来绘制股票分时图,数据也是随便找的一些样例数据。你可以根据自己的需求,替换成真实的股票数据。同时,你也可以根据自己的需要,调整样式和配置,让股票分时图更加美观和实用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值