我在桌子上用高图迷你图。这是我生成火花线的代码。它是使用php脚本生成的。所以你会在里面找到一些php变量:

$(function () {
                    $(document).ready(function() {
                        Highcharts.SparkLine = function (a, b, c) {
                            const hasRenderToArg = typeof a === 'string' || a.nodeName;
                            let options = arguments[hasRenderToArg ? 1 : 0];
                            const defaultOptions = {
                                chart: {
                                    renderTo: (options.chart && options.chart.renderTo) || (hasRenderToArg && a),
                                    backgroundColor: null,
                                    borderWidth: 0,
                                    type: 'area',
                                    margin: [2, 0, 2, 0],
                                    width: 40,
                                    height: 20,
                                    style: {
                                        overflow: 'visible'
                                    },
                                    // small optimalization, saves 1-2 ms each sparkline
                                    skipClone: true
                                },
                                title: {
                                    text: ''
                                },
                                credits: {
                                    enabled: false
                                },
                                xAxis: {
                                    labels: {
                                        enabled: false
                                    },
                                    title: {
                                        text: null
                                    },
                                    startOnTick: false,
                                    endOnTick: false,
                                    tickPositions: []
                                },
                                yAxis: {
                                    endOnTick: false,
                                    startOnTick: false,
                                    labels: {
                                        enabled: false
                                    },
                                    title: {
                                        text: null
                                    },
                                    tickPositions: [0]
                                },
                                legend: {
                                    enabled: false
                                },
                                tooltip: {
                                    hideDelay: 0,
                                    outside: true,
                                    shared: true
                                },
                                exporting: {
                                    enabled: false
                                },
                                plotOptions: {
                                    series: {
                                        animation: false,
                                        lineWidth: 2,
                                        shadow: false,
                                        states: {
                                            hover: {
                                                lineWidth: 1
                                            }
                                        },
                                        marker: {
                                            radius: 1,
                                            states: {
                                                hover: {
                                                    radius: 2
                                                }
                                            }
                                        },
                                        fillOpacity: 0.25
                                    },
                                    column: {
                                        negativeColor: '#c3d3a4',
                                        color: '#729d34',
                                        borderColor: 'none'
                                    },
                                    bar: {
                                        negativeColor: '#c3d3a4',
                                        color: '#729d34',
                                        borderColor: 'none'
                                    }
                                }
                            };
                                            
                            options = Highcharts.merge(defaultOptions, options);
                                            
                            return hasRenderToArg ?
                                new Highcharts.Chart(a, options, c) :
                                new Highcharts.Chart(options, b);
                        };
                                            
                        const start = +new Date(),
                            tds = Array.from(document.querySelectorAll('td[data-sparkline]')),
                            fullLen = tds.length;
                                            
                        let n = 0;
                                            
                        function doChunk() {
                            const time = +new Date(),
                                len = tds.length;
                                            
                            for (let i = 0; i < len; i += 1) {
                                const td = tds[i];
                                const stringdata = td.dataset.sparkline;
                                const arr = stringdata.split('; ');
                                const data = arr[0].split(', ').map(parseFloat);
                                const chart = {};
                                            
                                if (arr[1]) {
                                    chart.type = arr[1];
                                }
                                            
                                Highcharts.SparkLine(td, {
                                    series: [{
                                        data: data,
                                        pointStart: 1
                                    }],
                                    tooltip: {
                                        headerFormat: '<span style=\"font-size: 10px\">' + td.parentElement.querySelector('th').innerText + ':</span><br/>',
                                        pointFormat: '<b>{point.y}</b>'
                                    },
                                    chart: chart
                                });
                                            
                                n += 1;
                                            
                                // If the process takes too much time, run a timeout to allow interaction with the browser
                                if (new Date() - time > 500) {
                                    tds.splice(0, i + 1);
                                    setTimeout(doChunk, 0);
                                    break;
                                }
                            }
                        }
                        doChunk();
                    });
                });

我有一些无法解决的问题:

  1. 我当前使用td.parentElement.querySelector('th').innerText获取工具提示中第一列的文本

如果我的桌子看起来像:

<table>
<tr><th>Amsterdam</th><td>43 People</td><td data-sparkline="-5"></td></tr>
<tr><th>Paris</th><td>20 People</td><td data-sparkline="2"></td></tr>
</table>

它工作得很好。

但我喜欢将表结构从th更改为td:

<table>
<tr><td>Amsterdam</td><td>43 People</td><td data-sparkline="-5"></td></tr>
<tr><td>Paris</td><td>20 People</td><td data-sparkline="2"></td></tr>
</table>

如何在工具提示“td.parentElement.querySelector('td:first????').innerText”中显示表行的第一列

  1. 正如你在图片中看到的,一行中的正值和负值没有相同的起点enter image description here

它必须看起来像:

enter image description here

中间应该有一个固定的x轴,正值指向右侧,负值指向左侧,中点在所有行上都是固定的,每行的缩放比例相同。因此,值越大,条越长,值越小,条越短。

highcharts迷你图如何将每行中的x轴缩放到相同的更多相关文章

  1. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. 在IOS9中的Cordova应用程序使用JQuery / Javascript的window.history问题

    在两个测试用例中唯一改变的是Cordova.js.解决方法我看到这是几个星期前,但我会发布这个,以防其他人遇到它.听起来它可能与iOS9中的哈希更改生成的导航事件有关.如果是这样,可以将其添加到index.html以禁用哈希侦听:

  3. iOS 5上的jQuery事件

    解决方法在Apple开发论坛上由一个人回答:我需要在将元素添加到DOM之后才绑定(),如下所示:

  4. android – Phonegap本地构建 – jquery ajax错误:readystate 0 responsetext status 0 statustext error

    解决方法您是否在索引文件中包含了内容安全元标记?

  5. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  6. 设置焦点到输入框和显示Android键盘使用jquery手机在pageshow

    我正在设置焦点到输入框,并显示Android键盘使用jquery手机网页显示.我从Web上尝试过很多选项.但是没有一个在模拟器和移动设备中都能按预期工作.这是代码:查找屏幕截图以供参考请咨询…解决方法对我有用的解决方案

  7. android – 如何在焦点()上以编程方式隐藏jquery mobile中的键盘

    我想在Focus()上隐藏键盘,但是当$(“.ui-input-text”).focus();它会自动打开键盘.我只是想隐藏在特定的屏幕上,我用document.activeElement.blur()测试;但它也没有关注()输入.解决方法提交表单时,iOS键盘可能不会自动关闭.这是一个非常实用的问题,因为不应要求用户手动关闭键盘,否则他们不会期望需要这样做.可以通过调用document.acti

  8. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. jQuery实现简单的抽奖游戏

    这篇文章主要为大家详细介绍了jQuery实现简单的抽奖游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. jQuery的Cookie封装,与PHP交互的简单实现

    下面小编就为大家带来一篇jQuery的Cookie封装,与PHP交互的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

随机推荐

  1. 如何扩展ATmega324PB微控制器的以下宏寄存器?

    我目前正在学习嵌入式,我有以下练习:展开以下宏寄存器:如果有人解决了这个问题,我将不胜感激,以便将来参考

  2. Python将ONNX运行时设置为返回张量而不是numpy数组

    在python中,我正在加载预定义的模型:然后我加载一些数据并运行它:到目前为止,它仍在正常工作,但我希望它默认返回Tensor列表,而不是numpy数组。我对ONNX和PyTorch都是新手,我觉得这是我在这里缺少的基本内容。这将使转换中的一些开销相同。

  3. 在macOS上的终端中使用Shell查找文件中的单词

    我有一个文本文件,其中有一行:我需要找到ID并将其提取到变量中。我想出了一个RexEx模式:但它似乎对我尝试过的任何东西都不起作用:grep、sed——不管怎样。我的一个尝试是:我为这样一个看似愚蠢的问题感到抱歉,但我在互联网上找不到任何东西:我在SO和SE上读了几十个类似的问题,并在谷歌上搜索了几个教程,但仍然无法找到答案。欢迎提供任何指导!

  4. react-chartjs-2甜甜圈图中只有标题未更新

    我正在使用react-chartjs-2在我的网站中实现甜甜圈图。下面是我用来呈现图表的代码。我将甜甜圈图的详细信息从父组件传递到子组件,所有道具都正确传递。当我在beforeDraw函数外部记录props.title时,它会记录正确的值,但当我在beforeDraw函数内部记录props.title时,它将记录标题的前一个值,从而呈现标题的前值。我在这里做错了什么?

  5. 如何在tkinter中使用Python生成器函数?

    生成器函数承诺使某些代码更易于编写。但我并不总是知道如何使用它们。假设我有一个斐波那契生成器函数fib(),我想要一个显示第一个结果的tkinter应用程序。当我点击“下一步”按钮时,它会显示第二个数字,依此类推。我如何构建应用程序来实现这一点?我可能需要在线程中运行生成器。但如何将其连接回GUI?

  6. 如何为每次提交将存储库历史记录拆分为一行?

    我正在尝试获取存储库的历史记录,但结果仅以单行文本的形式返回给我。

  7. 尝试在颤振项目上初始化Firebase时出错

    当尝试在我的颤振项目上初始化firebase时,我收到了这个错误有人知道我能做什么吗?应用程序分级Gradle插件Gradle项目颤振相关性我已经将firebase设置为Google文档已经在另一个模拟器上尝试过,已经尝试过创建一个全新的模拟器,已经在不同的设备上尝试过了,已经尝试了特定版本的firebase,已经尝试添加但没有任何效果,已经在youtube上看到了关于它的每一个视频,该应用程序在android和iOS两个平台上都抛出了这个错误

  8. 在unix中基于当前日期添加新列

    我试图在unix中基于时间戳列在最后一个单元格中添加一个状态列。我不确定如何继续。

  9. 麦克斯·蒙特利。我一直得到UncaughtReferenceError:当我在终端中写入node-v时,节点未定义

    如果这是您应该知道的,请确认:我已将所有shell更改为默认为zsh。当我在终端中写入node-v时,我一直收到“UncaughtReferenceError:nodeisnotdefined”。但它显示节点已安装。我是个新手,在这方面经验不足。

  10. 如何在前端单击按钮时调用后端中的函数?

    那么如何在后端添加一个新的端点,点击按钮调用这个函数。

返回
顶部