如何使用 D3.js 在带有按钮的一个区域中创建/显示具有相同数据的图表的多次迭代
How to Create/Show Multiple Iterations of Charts with the same data in One Area with Buttons using D3.js
我使用相同的数据创建了多个迭代。考虑此方案(使用相同的数据),三种不同的迭代是:
1) 饼图2) 条形图3) 折线图
现在,我希望能够在HTML模板的一个DIV中显示所有三个图表,但是用户应该能够通过选择选项1 2或3来选择他要查看的图表。
我已经在一个单独的 js 脚本中创建了我的 D3.js,并告诉它使用 "chart" 的 id 在 DIV 中创建图表。
(var svg = d3.select("#chart").append("svg")) /*line in app_d3.js that creates graph in div #chart*/
这是我的HTML模板(带有引导元素):
<div id="chart"></div>
<form class="chart_form">
<label><input type="radio" name="mode" value="size"> Mobile</label>
<label><input type="radio" name="mode" value="count" checked> Email</label>
</form>
<div id="info_chart">
<div class="btn-group">
<button id="button_chart" type="button" class="btn btn-default">1</button>
<button id="button_chart" type="button" class="btn btn-default">2</button>
<button id="button_chart" type="button" class="btn btn-default">3</button>
</div>
</div>
如何设置我的 d3.js 或 html 样式,以便在单击按钮 1 时仅显示饼图,依此类推,对于带按钮 2 的条形图和带按钮 3 的折线图?
谢谢(我无法共享我的数据,但 d3.js 脚本只是标准的饼图、条形图和折线图)
方法如下: http://jsfiddle.net/vnBsx/66/
您可以使用 $('#chart').find('#highcharts-0').hide();
或 .show()
。对于第二个和第三个图表,您可以使用#highcharts-1
或#highcharts-2
作为图表 ID 的默认命名系统。
编辑:
这是PURE的javascript版本:http://jsfiddle.net/vnBsx/69
相关文章:
- 创建具有可变长度幻灯片显示的幻灯片
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 如何创建一个“;显示更多“;按钮,并指定最初可以显示的文本行数
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 如何在标题上创建弹出框,当点击关闭按钮时,不使用jquery或php在网站中显示
- 为自定义网站创建JavaScript搜索框,创建显示搜索结果的弹出窗口
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- 如何创建multiselect来显示Django中每个选定项的详细信息
- 我如何创建一个动态地图来显示我们公司的位置
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 当从jquery的点击事件中的每个循环创建的数组到它之外时,它显示空白数组
- 单击旧列表只显示上次创建的id,应在单击时显示列表id
- 如何在网站上创建仅显示文本的简单弹出窗口
- 如何在 AngularJS 中创建和显示多个自定义指令
- 使用地理位置创建一个显示我当前位置的按钮
- 多个图像显示带有动态创建的画布的最后一个图像并分配给图像
- 希望创建一个显示日期+5天和日期+10天之间交付的javascript
- 需要帮助创建清单并突出显示行HTMLJavascript
- 如何显示创建的数据
- 在Angularjs的控制器中显示创建的记录Id