在 ApexCharts.js 中制作直方图

2023-12-26

我正在尝试使用 ApexCharts 创建直方图(更具体地说,React-ApexCharts,但我认为这没有什么区别)。

Example of the output I'm after: expected_output The example above was originally created using Chart.js (source https://leimao.github.io/blog/JavaScript-ChartJS-Histogram/). The blue shading for one of the bars is irrelevant.

尽管“直方图”被列为 ApexCharts 中的图表类型之一(参考 https://apexcharts.com/docs/options/chart/type/),我无法重现上面的例子。我无法解决的问题是:

  • Having number of bars + 1x 轴上的标签数量(即上面的示例中有 10 个标签和 9 个条形)
  • 将条形严格放置在标签之间
  • 有一个工具提示,引用每个条形的相邻标签(例如Hours: 6 - 7 above)

我陷入困境的示例代码:https://codesandbox.io/s/dreamy-wiles-8mbp3e https://codesandbox.io/s/dreamy-wiles-8mbp3e


类似于您的图像以及您列出的要求可以这样设置:

const yData = [5,8,24,16,32,42,30,17,11];
    const options = {
        chart: {
            type: 'bar'
        },
        series: [{
            name: 'visitors',
            data: Array.from({length: yData.length},
                (_, i)=>({
                    x: 0.5+i,
                    y: yData[i],
                    ... i === 4 ? ({fillColor: 'rgba(32, 120, 255, 0.4)', strokeColor: '#80afff'}) : ({})
                }))
        }],
        plotOptions:{
            bar: {
                columnWidth: "95%",
                strokeWidth: 2,
                borderRadius: 5,
                borderRadiusApplication: "end",
            }
        },
        fill:{
            colors: '#ff4040',
            opacity: 0.3,
        },
        stroke:{
            width: 2,
            colors: ['#ee8080']
        },
        dataLabels: {enabled: false},
        grid: {
            xaxis: {
                lines: {
                    show: true
                }
            },
            yaxis: {
                lines: {
                    show: true
                }
            }
        },
        xaxis: {
            type: "numeric",
            min: 0,
            max: yData.length,
            tickAmount: yData.length,
            labels: {formatter: x => x /*Math.round(x)*/},
            title: {text: "Hours", offsetY: 70},
            axisBorder: {
                color: "#000000"
            }
        },
        yaxis: {
            title: {text: "Visitors"},
            min: 0,
            max: Math.max(...yData),
            axisBorder: {
                show: true,
                color: "#000000"
            }
        },
        tooltip:{
            onDatasetHover: {
                highlightDataSeries: true,
            },
            x: {formatter: x=>{return 'Hours '+(x-0.5)+'-'+(x+0.5);}}
        }
    }

    const chart = new ApexCharts(document.querySelector("#chart"), options);

    chart.render();
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<div id="chart" style="border: 1px solid #444">
</div>

如果您列出了Chart.js代码,人们会更好地理解您的所有需求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ApexCharts.js 中制作直方图 的相关文章

随机推荐

  • Facebook Webforms 应用程序获取 app_data 查询字符串

    如何从 Facebook Webforms 应用程序获取 app data 查询字符串 我希望能够在查询字符串中发送一些信息 以便我可以在我的应用程序上显示不同的主屏幕 该应用程序位于页面选项卡中 例子 如何从 app data 获取 Pa
  • 显示图像并转换为灰度 - OpenCV for Android、Java API

    我正在 Eclipse 中编写一个 Android 应用程序 它使用OpenCV4Android http code opencv org projects opencv wiki OpenCV4AndroidAPI 我怎样才能显示一个Ma
  • 从 C++ 本机插件更新 Vector3 数组

    Marshal Copy 方法仅支持少数数组类型 现在我只知道如何复制IntPtr 从 C 代码指向浮点数组 float IntPtr pvertices GetVerticesFromCPP float vertices new floa
  • 使用 linq 删除代码时出现错误

    我遇到有关使用组合框删除数据的问题 该错误提示我不知道如何解决 任何人都可以帮助我吗 private void btnDel Click object sender EventArgs e using testEntities Setupc
  • ByVal 与 ByRef VBA

    我尝试过 JaredPar 回答的问题ByRef 与 ByVal 说明 https stackoverflow com questions 4383167 byref vs byval clarification ByVal在 VB NET
  • ant 构建文件设置 javac 位置

    我正在编辑一个旧项目的构建文件 当我向使用 Java 1 6 的项目添加一些 jar 文件时 它不会构建 它说 javac javac invalid target release 1 6 很明显 我需要告诉 ant 构建文件使用 java
  • 在 C++0x 中专门化 lambda 模板

    我编写了一个特征类 它可以让我提取有关 C 0x 中函数或函数对象的参数和类型的信息 使用 gcc 4 5 0 进行测试 一般情况处理函数对象 template
  • linux下可以分配大容量的虚拟内存吗?

    对于某些目的来说 分配大量的虚拟空间并仅在访问的页面中进行分页会很有效 分配大量内存是瞬时的 并且不会实际抓取页面 char p new char 1024 1024 1024 256 好吧 上面指出的是错误的 因为它是一个 32 位数字
  • Python 评估错误

    x 5 print eval x 1 builtins None 出现错误 TypeError NoneType object is not subscriptable 为什么我会出现上述错误 另外 如何为 eval 函数指定几个内置方法
  • Ruby、Mac、Geektool 问题,文件访问权限?

    我有一个内置的 Ruby 脚本TextMate http en wikipedia org wiki TextMate并可以在TextMate中成功运行 我还可以直接从终端成功运行此脚本 该脚本中有这样一段代码 Get the XML fi
  • Struts 2.0从服务器下载文件

    我已经创建了下载方法来从服务器端下载文件到客户端 但是出现了此错误 文件已成功下载到客户端 但我有此错误 所以我无法正确返回到上一页 这是我的错误 SEVERE Servlet service for servlet default thr
  • 如何传递表值参数

    我试图将表值参数传递给存储过程 但我不断收到异常 见下文 SqlCommand c new SqlCommand getPermittedUsers myConn CommandType CommandType StoredProcedur
  • 之后如何使导入的目标成为GLOBAL?

    来自FindBoost cmakeCMake 3 8的模块 foreach COMPONENT Boost FIND COMPONENTS if Boost IMPORTED TARGETS AND NOT TARGET Boost COM
  • Ocaml utop 库路径,核心模块

    我正在尝试使用Core模块输入utop 由 Jane Street 发起并使用安装opam 问题是这样的 utop open Core Std Error Unbound module Core utop似乎没有通往Core module
  • 为什么谷歌搜索返回的结果不包含我搜索的字符串? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我认为谷歌搜索不再运作良好 我不断收到不包含我要求的搜索字符串的网页 例如 我刚刚在谷歌主搜索窗口中输入 check if a vecto
  • 文本插入光标(插入符号)出现在移动浏览器中其他元素上方

    当将焦点放在文本上时input在移动浏览器中 在 iOS Safari 和 Chrome 上测试 文本插入符号出现在任何文本的顶部div放在上面 这是一个快速 简单的示例 http jsfiddle net XQf8N http jsfid
  • 在 mysql 中使用 SUM 进行多个连接

    我一直在寻找解决方案 有很多类似的问题 但没有一个有任何正确的答案可以帮助我解决问题 首先 我的问题 问题 我想对多重连接查询中的某些列进行求和和计数 多重连接是不可能的吗 我必须筑巢吗SELECT查询 下面是我的数据库的 SQL 转储以及
  • 如何将元素添加到 Hibernate 中的延迟加载集合而不导致集合加载?

    罐头上写着什么 我想在 Hibernate 中修改集合而不强制加载集合 因为它的数据量很大 约 100 000 条记录 单调递增 现在 我通过调用向此列表添加一个元素getEvents add newEvent 这当然会导致events被填
  • AWS Athena 中的文件系统上缺少表

    我在 Athena 上使用此代码创建了一个具有自动分区的表 CREATE EXTERNAL TABLE IF NOT EXISTS matchdata stattable matchResult string PARTITIONED BY
  • 在 ApexCharts.js 中制作直方图

    我正在尝试使用 ApexCharts 创建直方图 更具体地说 React ApexCharts 但我认为这没有什么区别 Example of the output I m after The example above was origin