add custom drop down menu in highcharts/highstock

2019-07-23 15:55发布

I am having a drop down menu on my page:

<form action="/my-action/" method="post" name="selection">
    <label for="user"> User</label>
    <select id="user" name=user onclick="$(this).closest('form').submit();">
        <option>user 1</option>
        <option>user 2</option>
    </select>
</form>

What I want to achieve, is to add this drop down menu on the chart, for example next to the chart title or next to the range selector on the top of the chart.

I could not find anyway for this, and i dont know how to handle this, using javascript, jQuery or html.

I appreciate any helps.

2条回答
我想做一个坏孩纸
2楼-- · 2019-07-23 16:27

I've tried adding drop-down menus within a Highcharts visualization using the renderer.html function many times, and it unfortunately doesn't work. You can see the menu, but you can't choose from its options. My guess is this is due to how the menu is rendered once the chart is drawn as an SVG file.

The good news is that HTML elements outside Highcharts can interact with the chart, so you can create a Javascript function that can, for example, show or hide a particular series depending on what the user chooses in your menu. See the menus above the chart here for an example: https://www.frbatlanta.org/chcs/labor-market-distributions.aspx.

You can also use simple links or buttons in renderer.html elements. Add an onClick() event to those buttons to interact with the chart. What's useful about this solution is the buttons will appear alongside the chart when it's exported. The first chart in this example redraws the same chart with different data when a user clicks on a button: https://www.frbatlanta.org/economy-matters/2016/05/02/trade-dynamics-between-world-and-china.

I developed both of these charts, so please feel free to ask any questions in the comments if you need any additional guidance.

查看更多
三岁会撩人
3楼-- · 2019-07-23 16:27

It's a few months since you posted this answer…but in case you check in: I would love to know how you coded the context buttons in those examples you developed, particularly the simple chart with buttons for, say, exports/imports.

I'm not much of a coder but have been developing basic Highcharts content over at Carbon Brief, for example here are a couple examples. I had a look inside your code with "view page source" but it was quite hard to see which parts to concentrate on.

For our site, we write the charts as a separate piece of html, host it on GitHub, and then embed it within article pages via an iframe. We don't have deeper control of the site day-to-day, because it was built by an external developer.

Thanks! Simon

查看更多
登录 后发表回答