I have created a go.Sunburst html output that looks as expected. However, its output is unsurprisingly very complicated and irregular (it is displaying a large, deep UNIX directory structure). The output html can be close to 20 MB with well over 100K sectors to render. As you can imagine, the response time to interact with the plot is really sluggish, especially when moving from the outer extents of the plot back to the root/topmost level. Is there any practical way to improve the rendering process of complex sunbursts? I would consider a format other than html (D3.js?), if that is even an option.
Optimize rendering of sunburst plots?
54 Views Asked by Chris At
1
There are 1 best solutions below
Related Questions in D3.JS
- issue with Loading TopoJSON File in D3.js: Map Not Displaying Properly
- Nothing is shown when running a d3 sample code
- Trouble setting fixed nodes in force graph: Fixing nodes break links (D3)
- Visx Streamgraph Custom Typing
- D3 - Tree of life plot not showing data
- D3.js - Grouped Bar Chart - Error Updating Input Data
- D3.js transition only works for the deleted Elements
- Anybody knows why the tooltip doesn't show up where and how I want to?
- Translate coordinates of label in d3 org chart
- Facing issue while implementing Drag behaviour for D3 nodes
- D3.js forcegraph in Shiny
- Tring to render label on nodes and edges in a d3 force graph, but they are not visible although available under dom tree
- D3.js Error transition arc "<path> attribute d: Expected arc flag ('0' or '1'),"
- GeoJSON MultiPolygon Inversion Works for All Federal Districts of Russia Except Siberia in D3.js Map
- Add interactive tooltips in networkD3 package in R
Related Questions in PLOTLY
- Interactive bar chart with multiple conditioning variables and default shown distribution is unconditioned
- Voila is rendering plots, ipywidgets and markdown on one system but only markdown in another system
- Run R shiny plotting function with JS in an R Shiny environment
- Is there a way to recreate the Shap Values plot with plotly?
- How do I properly add a callback to individual traces in Plotly?
- Overlapping R subplots
- Different X axes with Plotly's make_subplots
- Plotly stacked bar chart in subplot -- visually differentiate the "stacked" values inside the subplot
- Colour plotly bar chart with error bars by group
- How to adjust scales of multiple plots aligned in one page?
- R's plotly ggplotly removing legend from a geom_point
- Draggable points in Streamlit
- how to add multiple plot in alternating plotly html file in python
- how to provide spacing between groups of bars in bar chart plotly express
- 3D surface won't show data on plotly
Related Questions in SUNBURST-DIAGRAM
- Sunburst diagram is not being plotted in Jupyter notebook at all
- Empty page when generating sunburst chart
- How to read values from df into plotly express sunburst?
- Sunburst chart not generating
- Problem sourcing unipept-visualizations.js
- Optimize rendering of sunburst plots?
- plotly sunburst + datapane : bug with markers shape
- How to set a value of 0 for empty sectors in a px.sunburst?
- sunburst, I can't pass the parameter to label my sectors with the count of occurrences, only parents' names
- How to manually colour sunburst() chart so that leafs are different shade of same colour to parent leaf?
- Adding a legend in Highcharts sunburst
- Sunburst/Fan chart
- Change colors of sunburst plot with R plot_ly
- Can I create multiple colour schemas in one Sunburst chart in Plotly?
- layered-donut chart for a better subgroups-differentiation in R
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can create a "zoomable" sunburst so that you are only showing a few levels of the hierarchy at any given time. This reduction in the amount of data being displayed should improve the performance.
There is a good example of that here - https://observablehq.com/@d3/zoomable-sunburst where...
You could combine this idea with "lazy loading". "Lazy loading" is just a technique that loads the data of the chart dynamically as and when the user interacts with it. This can significantly reduce the loading time and enhance the performance of your chart.
However these are just general ideas, without seeing any code it is hard to offer specific advice.