条形图上的 jqplot 工具提示
我正在使用 jquery 插件 jqplot 来绘制一些条形图。 悬停时,我想在工具提示上显示栏的刻度及其值。我已经尝试过
highlighter: { show: true,
showTooltip: true, // show a tooltip with data point values.
tooltipLocation: 'nw', // location of tooltip: n, ne, e, se, s, sw, w, nw.
tooltipAxes: 'both', // which axis values to display in the tooltip, x, y or both.
lineWidthAdjust: 2.5 // pixels to add to the size line stroking the data point marker
}
,但没有成功。条形图在视觉上变得更亮,顶部有一个小点(理想情况下它会消失——可能来自折线图渲染器的东西),但任何地方都没有工具提示。有人知道我该怎么做吗?我会有很多条形图,因此如果我只将它们显示在那里,x 轴就会变得混乱并且有点混乱。
I'm using the jquery plugin jqplot for plotting some bar charts.
on hover, I'd like to display the tick for the bar and its value on a tooltip. I've tried
highlighter: { show: true,
showTooltip: true, // show a tooltip with data point values.
tooltipLocation: 'nw', // location of tooltip: n, ne, e, se, s, sw, w, nw.
tooltipAxes: 'both', // which axis values to display in the tooltip, x, y or both.
lineWidthAdjust: 2.5 // pixels to add to the size line stroking the data point marker
}
but it doesn't work. the bar visually gets lighter, and there's a small dot on the top (which would ideally go away--probably from line chart renderer stuff), but there is no tooltip anywhere. Anyone know how I can do this? I'll have lots of bars so the x-axis will be cluttered and kind of a mess if I show them down there only.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我浏览 jqplot.highlighter.js 并找到一个未记录的属性:
tooltipContentEditor
。我用它来自定义工具提示以显示 x 轴标签。
使用这样的东西:
I go through jqplot.highlighter.js and find an undocumented property:
tooltipContentEditor
.I use it to customize the tooltip to display x-axis label.
Use something like this:
没关系,我采用了一种迂回的方式通过 jquery 创建我自己的工具提示。
我保留了我的问题中的荧光笔设置(尽管您可能不需要工具提示内容)。
在我的 js 文件中,设置条形图后(在
$.jqplot('chart', ...
) 之后,我设置了鼠标悬停绑定,如一些示例所示。我修改了像这样:解释:
ticks_array
是先前定义的,包含 x 轴刻度字符串。 jqplot 的data
将鼠标下的当前数据作为 [x-category-#, y-value] 类型数组。pointIndex
具有当前突出显示的栏#。基本上我们将使用它来获取刻度字符串。然后我设置了工具提示的样式,使其看起来靠近鼠标光标所在的位置。如果此 div 位于其他定位容器中,您可能需要从
mouseX
和mouseY
中减去一点。然后,您可以在 css 中设置
#chartpseudotooltip
样式。如果您想要默认样式,只需将其添加到 jqplot.css 中的.jqplot-highlighter-tooltip
中即可。希望这对其他人有帮助!
nevermind, I did a roundabout way to create my own tooltip via jquery.
I left my highlighter settings as they were in my question (though you probably don't need the tooltip stuff).
In my js file after the bar chart is set up (after
$.jqplot('chart', ...
) I set up an on mouse hover binding, as some of the examples showed. I modified it like this:explanation:
ticks_array
is previously defined, containing the x axis tick strings. jqplot'sdata
has the current data under your mouse as an [x-category-#, y-value] type array.pointIndex
has the current highlighted bar #. Basically we will use this to get the tick string.Then I styled the tooltip so that it appears close to where the mouse cursor is. You will probably need to subtract from
mouseX
andmouseY
a bit if this div is in other positioned containers.you can then style
#chartpseudotooltip
in your css. If you want the default styles you can just add it to.jqplot-highlighter-tooltip
in the the jqplot.css.hope this is helpful to others!
我在以下链接上使用荧光笔插件的版本:
https://github.com/tryolabs/jqplot -highlighter
我正在使用的参数:
新参数确保工具提示出现的固定位置。我更喜欢将它放在左上角,以避免调整容器 div 大小时出现问题。
I am using the version of the highlighter plugin on the following link:
https://github.com/tryolabs/jqplot-highlighter
The parameters I am using:
The new parameters ensure a fixed location where the tooltip will appear. I prefer to place it on the upper left corner to avoid problems with resizing the container div.