融合图表 - 在柱形图2D图表中单击时更改条形的颜色
FusionCharts- changing the color of a bar on click in Column2D chart
FusionCharts- 我尝试创建一个column2d图表。我有一个要求,我需要单击图表的一个条形并刷新下表中的一些数据。除此之外,我需要更改我单击的栏的颜色。我能够使用 link 属性完成第一个,以设置为 javascript 函数并刷新该函数中的表。但是第二个要求(改变颜色)我无法完成。我尝试使用 DOM 获取 HTML 元素并更改颜色。但是,我无法获取元素,而是获取拉斐尔创建的固有对象(融合图使用拉斐尔)。我还尝试使用对象的 raphaelID 属性访问该元素,但这没有用。我希望在客户端完成此操作,而无需任何刷新。我还尝试使用点击事件作为 FisionChart 数据源的一部分。
var barChart = new FusionCharts({
type: 'column2d',
id: chartid,
width: w,
height: '200',
dataFormat: 'json',
dataSource: {
"chart": {
"bgalpha": "0",
"Bold": "0",
"canvasbgalpha": "0",
"canvasborderalpha": "0",
"defaultnumberscale": "calls",
"divlinealpha": "10",
"formatnumberscale": "1",
"labelDisplay": "Wrap",
"numDivLines": "3", //changed for showing Y-axis scale
"numVDivLines": "0", //changed for showing Y-axis scale
"outCnvBaseFont": "Tahoma",
"outCnvbaseFontSize": "12",
"palettecolors": "#3399FF",
"plotbordercolor": "#797979",
"plotBorderHoverThickness": "1",
"plotFillHoverColor": "#FFFFFF",
"plotgradientcolor": "",
"plotHoverEffect": "1",
"plotSpacePercent": "35",
"rotateYAxisName": "0",
"showalternatehgridcolor": "0",
"showborder": "0",
"showplotborder": "1",
"showvalues": "0",
"showYAxisValues": "1", //changed for showing Y-axis scale.
"xaxisname": currentMonth,
"yaxisname": "Number {br} of calls",
"yAxisMinvalue": "0",
"yAxisMaxValue": max //changed for showing Y-axis scale
},
"data": chartDataItems,
"events": {
"dataPlotClick": function (evtObj, argObj) {
// Modifying the underlying Raphael object
var i, plotItems = evtObj.sender.jsVars.hcObj.elements.plots[0].items,
plotLength = plotItems.length;
// for (i = 0; i < plotLength; i++) {
// plotItems[i].graphic.attr("fill", "#FFFFFF");
// }
plotItems[argObj.dataIndex].graphic.attr("fill", "#FFFFFF");
}
}
}
});
barChart.render(chartToRenderId);
下面是我使用 HTML 属性访问元素的代码。
try {
var day = parseInt(selectedDate.substring(0, 2));
var rectangleBars = $(".red-hot-2").find("rect");
var rectangle = rectangleBars[day - 1];
var element = document.getElementById(rectangle.raphaelid);
element.click(function () {
this.attr('background-color', 'white');
});
}
catch (e) { }
背景颜色不是属性,请尝试以下操作:
try {
var day = parseInt(selectedDate.substring(0, 2));
var rectangleBars = $(".red-hot-2").find("rect");
var rectangle = rectangleBars[day - 1];
var element = document.getElementById(rectangle.raphaelid);
element.click(function () {
$(this).css("background-color", "white");
});
}
catch (e) { }
相关文章:
- Highchart Js柱形图堆叠和分组
- HighCharts:3D柱形图在选择时更改边框颜色
- 使用共享工具提示时,单击Highcharts柱形图会返回不正确的序列索引
- 带有背景色的高图表柱形图
- 柱形图中每列的 ng-谷歌图表自定义颜色
- Highcharts将url添加到柱形图
- 如何在堆栈中创建具有不同颜色和自定义工具提示的堆积柱形图
- 为Highcharts中的柱形图设置最小默认范围
- 高位图表堆积柱形图标签问题
- 高位图表不显示柱形图的每日数据
- 高位图堆积柱形图更改图例ItemClick函数
- 融合图表 - 在柱形图2D图表中单击时更改条形的颜色
- 高图表柱形图,柱形中间有其他标签
- 通过 json 更新的 Canvasjs 柱形图不起作用
- 如何在高图表的基本柱形图中隐藏/显示列
- 高图表堆积百分比柱形图可以小于 100% 吗?
- Dojo-簇状柱形图数据标签作为Excel
- 谷歌图表:柱形图,饼图不透明度
- 通过 sql 数据绘制高图表柱形图颜色
- 如何在点击时设置柱形图的颜色 在 amCharts 中