A JavaScript topic visualization project using D3.js
laurenwalker / topicviz Goto Github PK
View Code? Open in Web Editor NEWA JavaScript topic visualization project using D3.js
License: MIT License
A JavaScript topic visualization project using D3.js
License: MIT License
Filter nodes by project or publication year - use a slider UI widget.
Currently, the nodes/circles change opacity when a category/filter is chosen. The opacity is determined by simply using the value in the data table, which isn't very accurate.
An opacity scale should be created by finding the highest value in that category and associating that value as an opacity of 1. The lowest value is an opacity of 0. The in between values will be determined based on that scale.
D3 has an easy way of creating quantitative scales like this: https://github.com/mbostock/d3/wiki/Quantitative-Scales
Similar to the person filter, have a textbox with an autocomplete of journal names.
We might want to consider changing the name.
Write up a short category label for each arc and a paragraph description for each category. The description may also end up including links, images, etc. Maybe just pull in HTML.
When a user clicks on a circle/node, the details that are in the tooltip should also display in the side text container. This is to help users who may be having trouble hovering over the tooltip in order to click a link and may be useful for mobile users as well.
An alternative to is have the tooltip "stick" on click of the circle rather than display text on the side. When any circle is clicked again, the tooltip will close.
This will be useful for quickly scanning the graphic and understanding what the most common categories are. It can be hard to visually interpret which categories are most common by looking at all the nodes and finding the most common color.
A similar example is the aster plot that was created during codefest by @parkerabercrombie and @bbest:
http://bl.ocks.org/bbest/2de0e25d4840c68f2db1
In the same area where category descriptions will be displayed, we will display a general introduction to the visualization and research topics. We will probably want a link to this GitHub repo, short instructions for navigating documents, etc.
Since a project can be associated with a publication, it would be useful to show which publications those are when the user clicks on a project node.
For example, when a user clicks on a project node, the associated publications will change their style somehow like add a thick border or become a bigger size. When the publication is clicked again, that style will go away.
So that this open source project can be used by others.
A text box should be displayed next to the graphic that has an autocomplete feature with author and PI names from the projects and publications.
This filtering feature will be really useful for sharing/publicity - being able to find your publications and projects in the visualization will draw people to checking it out.
We don't seem to have all of these in table.tab
, as far as I can tell
Each circle represents a publication or project, so on hover a tooltip should display:
We should try to pull in this information as dynamically as possible so that someone does not have to keep a data table updated constantly. There should be an API for DOI services to provide links and basic info, for example. Some information is already in the data table, such as title.
Add a text filter with an autocomplete feature for filtering by project and publication name
For example, if someone filters nodes based on their name, they might want a link to share on Twitter that will take people to a view of the visualization with that name as a filter. Great for publicity/sharing.
So the URL might look something like www.viz.com/viz.html?person=Lauren%20Walker
A Stanford graduate student has a nice example of interactive exploration of topic modeling available here: http://cs.stanford.edu/people/karpathy/nips2013/
A few features that seem complementary to what has already been discussed:
Options:
The main data table has a flag for whether something is a project or pub.
Clicking on a category arc filters out (visually, by color) that category. Clicking that category again does not reset the colors.
Would it be possible to re-run the topic model with a smaller number of topics? If we're going to be presenting ~16 topics, I think it would make sense to do the actual analysis with that same number.
Also, I think it would make sense to remove words from the corpus before running the topic model rather than removing topics from the final model. Removing topics leads to some documents having topic probabilities that don't add up to one.
This issue can serve as a wish list for the actions we might want to allow the user to take.
Others?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.