我试图在JQuery中创建一个函数来增加和减少点击点。我已经创建了增加点数的onclick事件,但不知道如何减少点数。
$("#radarChart").click(
function (evt) {
var activePoints = myRadarChart.getPointsAtEvent(evt);
var Values = activePoints[0].label + ' = ' + activePoints[0].value;
activePoints[0].value++;
}
);
上面的函数增加点的值,当点击,为了减少它,我需要知道是否填充的区域是点击。
我查看了ChartJS文档,但没有碰到它。其他图表也有它,例如极地面积图,当你悬停一个部分时,它会高亮显示,这意味着有一个功能可以检测鼠标悬停在段上。
雷达图中是否存在类似的功能?
我的密码本。
如果不是的话,我会很感激我如何做到这一点的任何想法。
我能想到的唯一的选择是创建10个按钮,5个标签。按钮将是+和-,增加和减少标签。在我看来,这占用了太多的空间,所以我在尽量避免。
谢谢,
实际上没有特定的Chart.js API来完成您想要的操作,但是使用canvas API和一些几何图形可以获得相同的结果。
基本上,如果用户单击当前值的区域之外,您希望增加该值,如果用户单击当前值的区域之内,您希望减少该值。
我修改了您的click处理程序来实现这一点。
function getElementPosition(obj) {
var curleft = 0, curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return { x: curleft, y: curtop };
}
return undefined;
};
function getEventLocation(element,event){
// Relies on the getElementPosition function.
var pos = getElementPosition(element);
return {
x: (event.pageX - pos.x),
y: (event.pageY - pos.y)
};
};
function pointDistance(point1, point2) {
return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
};
//Get the context of the Radar Chart canvas element we want to select
var ctx = document.getElementById("radarChart").getContext("2d");
// Create the Radar Chart
var myRadarChart = new Chart(ctx).Radar(radarData, radarOptions);
$("#radarChart").click(function (evt) {
var eventLocation = getEventLocation(this,evt);
var activePoints = myRadarChart.getPointsAtEvent(evt);
var eventLocDistToCenter = pointDistance({x: myRadarChart.scale.xCenter, y: myRadarChart.scale.yCenter}, eventLocation);
var activePointDistToCenter = pointDistance({x: myRadarChart.scale.xCenter, y: myRadarChart.scale.yCenter}, activePoints[0]);
if (eventLocDistToCenter < activePointDistToCenter) {
activePoints[0].value--;
} else {
activePoints[0].value++;
}
myRadarChart.update();
});
注意,我还添加了对.update()
的调用,以便图表立即呈现更改。以您实现它的方式,直到下一次呈现时(即鼠标移动时),您才会看到图表的更改。
这里是从您的工作解决方案中分叉出来的代码页。点击四周查看。
最后,您可能需要考虑升级到Chart.js2.0(最新版本为2.5)。1.0长期不受支持,最新版本有很多改进。你应该可以很容易地把它移植过来。如果你需要帮助,可以发布一个新的问题。
下面的php代码用于预填充输入框,但不适用于文本区域。问题是标准输入框的高度很小,所以文本显示在一行上。我尝试使用文本区域,但它出现空白时,呈现。代码显示了这两种方法,工作方法,然后是文本区域方法。有谁能给出建议吗?
我想用一种颜色填充剩余的空白,但我找不到任何方法来做到这一点,我是ios开发的初学者 我的应用的照片:
问题内容: 编辑Png图像例如,更改特定区域并在该区域填充颜色。 我想更改仅图像选择区域的颜色。就像第一个用户选择一种颜色,然后他选择一个图像一样,之后他可以用所选颜色更改图像颜色的特定区域。 之后,他也可以保存该图像,这可能吗?像Color公司的网站使用这种东西。 像下面的URL https://www.sherwin- williams.com/visualizer#/active 问题答案:
使用下面的代码,我可以在加载到画布中的图像上绘制一个区域,并用一些颜色填充绘制的区域。 现在,我需要用图像而不是颜色填充绘制区域。比如: 帆布fillStyle='url(myimage.jpg)'; 而不是 帆布fillStyle='#123456'//填充颜色示例 HTML: jquery。拉票。min.js
问题内容: 我正在尝试阴影绘制的两条曲线之间的区域。这是我绘制的。 使用以下代码。 我尝试使用,但是要使其正常工作,我需要在上具有相同的数据(将需要执行)。是否有其他功能可能对此有所帮助,还是我使用的是错误的功能。 问题答案: 您可以尝试: 例如:
我正在绘制一条黑体曲线,并希望填充曲线下3到5微米范围内的区域。但是,我不知道如何在这里使用或命令