Coder Social home page Coder Social logo

neesjanvaneck / vosviewer-online Goto Github PK

View Code? Open in Web Editor NEW
77.0 5.0 17.0 26.86 MB

VOSviewer Online is a tool for network visualization. It is a web-based version of VOSviewer, a popular tool for constructing and visualizing bibliometric networks.

License: MIT License

JavaScript 99.71% HTML 0.29%
network-visualization vosviewer vosviewer-online clustering layout network-analysis react react-component bibliometric-network

vosviewer-online's People

Contributors

neesjanvaneck avatar stukova avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vosviewer-online's Issues

Can't use items templates with the VOSviewer-Online component in Vite app

Description

I'm trying to use the vosviewer-online component within a vite typescript application.

Everything works fine with a standard network.
However if I add items descriptions or templates descriptions, the application crashes when I hover a node with the following error :

react-dom.development.js:26923  Uncaught TypeError: (0 , ju.addHook) is not a function
    at du (helpers2.js:42:3)
    at y2 (index.js:175:40)
    at index.js:193:22
    at observer.ts:104:34
    at useObserver.ts:126:25
    at trackDerivedFunction (derivation.ts:183:24)
    at Reaction2.track (reaction.ts:137:24)
    at useObserver (useObserver.ts:124:18)
    at observerComponent (observer.ts:104:16)
    at renderWithHooks (react-dom.development.js:16305:18)

The npm run build displays the following error that may be the cause :

vite v5.0.11 building for production...
node_modules/vosviewer-online/index.js (139:115203) "addHook" is not exported by "node_modules/dompurify/dist/purify.es.js", imported by "node_modules/vosviewer-online/index.js".
node_modules/vosviewer-online/index.js (139:115226) "sanitize" is not exported by "node_modules/dompurify/dist/purify.es.js", imported by "node_modules/vosviewer-online/index.js".

Do you have any suggestions or workaround ?
Thanks in advance.

PS: Note that the items descriptions works fine in a standard react typescript app without vite.

Reproduction

I made a repo with a vite template that you can build.
https://github.com/ahonestla/vosviewer-online-component-vite

Use JOI_2007-2016_co-authorship_network.json for the default network and JOI_2007-2016_co-authorship_network_template.json for the network with items descriptions.

Legend font size issue

The font size of the labels in the legends (item size and color) are fixed and not relatively defined as in the other UI elements.

Info box width issue

Info boxes become too wide if items have a description that consists of very long texts.

Largest component issue

If the largest_component parameter is in use and you open a network with coordinates after opening a network without coordinates, then the identification of the largest component and/or the layout algorithm will be performed incorrectly.

Computing the network layout online ?

Hello
From what I understand, the VOSviewer online can render a network that was first computed by the VOS viewer.
It would be very interesting to be able to compute the network layout directly in the web application, without using an heavy client.
I did not found an implementation of the VOS algorithm. The link www.neesjanvaneck.nl/vos/ that appears in the original publication does not point to a "simple open source program" but to the VOSviewer website.

odd zoom behaviour when using show_item parameter

I've observed that when using the URL parameter show_item=x, the app zooms in on a node labeled y (x) instead of the node labeled x. I'm not familiar with the function levenSort, but it seems intuitively right to select the first item returned by the sort (line referenced below), so I'm wondering why I see the behaviour described above. The Levenshtein distance should be 0 for the exact match and I assumed sortedItems[0] would then return x.

const foundItem = sortedItems[0];

Exit full screen issue

The positioning of items and links are in some cases disordered after exiting full screen mode. This issue occurs in the following situation: Go to full screen -> perform some scrolling/zooming -> exit full screen.

Share link issue

The share link is not correct if VOSviewer Online is hosted in a subfolder. Solution: add not only the domain but the whole path in the share link.

Description style issue

Hyperlinks in item descriptions are not displayed in the primary pallet color. Additionally, when item descriptions feature an HTML table, the table content is not displayed in the correct font color in the dark user interface.

Item size legend issue

Changing the Scale and Size variation sliders in the control panel will make items bigger or smaller in the visualization. However, the item size legend is not automatically adjusted after a change.

Info panel issue

If an item with a description is selected and you hover the mouse over an edge without a description, then the info panel will display incorrect information, namely the description of the item.

Node labels don't render correctly with HTML

Hello :-)

Can we add HTML to the id and labels?

My data looks this:

      {
        "id": "<strong>Commissioning of the ATLAS Muon Spectrometer with cosmic rays</strong><br />European Physical Journal C ",
        "label": "<strong>Commissioning of the ATLAS Muon Spectrometer with cosmic rays</strong><br />European Physical Journal C ",
        "scores": {
          "_": 1
        },
        "weights": {},
        "cluster": 1,
        "url": "https://app.dimensions.ai/details/publication/pub.1012859014",
        "description": "<div class='description_heading'><a href='https://app.dimensions.ai/details/publication/pub.1012859014' target='_blank'><strong>Commissioning of the ATLAS Muon Spectrometer with cosmic rays</strong><br />European Physical Journal C </a></div>"
      },

But the resulting visualization is not rendering correctly:

image

Full JSON data here: test.json

Issue with tiny url

Hi,

I have issues with sharing links on VosViewer Online.

It does not seem like tinyurls/QR codes are correctly interpreted in terms of the input path/token to the json files in my Google Drive (all json files are shared read-only). It worked four weeks ago.

How do I resolve this so I can share my networks?

Best,
Tobias

Valid JSON files not found

Hi, I'm developing a web app that hosts some VOSviewer JSON files and dynamically loads them into an iframe.
I can confirm that the target URLs return valid JSON networks (e.g., my web app's URL: https://musictechnet.simssa.ca/network?idx=30), but embedding the returned JSON into VOSviewer online returns "Error while reading VOSviewer JSON file: File cannot be found" (e.g., https://app.vosviewer.com/?json=https://musictechnet.simssa.ca/network?idx=30).

The previous link had been loaded correctly for most of the development process, but recently won't load any of the networks. I've tried returning a download of the JSON as well as just the JSON as you do in the VOSviewer Online doc examples, but neither are working anymore.

This issue has been intermittent throughout the development process, but recently none of the networks are loading anymore. I can also confirm that the JSONs loaded locally into VOSviewer online display the network perfectly. It's a pretty odd issue.

Add metadata fields for network object and add these fields to the viz

Hi! Thanks for this great web app. I am trying to integrate it to https://nocodefunctions.com so that users can visualize the networks they build.

The json format is rich, and it could be useful to complement it with descriptive fields for the network. These fields would be parsed and fill in placeholders in the visualization. Either in a existing or new collapsable panel, or directly visible (especially for the title I would say?).

The same way there is a config object, there could be a "metadata" object with:

"metadata": {
            "author(s) of the visualization": " xxxxx",
            "date of creation": "xxxx",
            "description of the data": "xxxx",
            "title of the visualization": "xxxxxxx",
            "further information": "xxxxxxxx"
        }

Integrating VOS Viewer without iframe

Hi, I'm a developer from the Dimensions team. We would need to integrate VOSviewer without the iframe + json file method that we are using today.

We have a react app, and I see that also the Viewer uses react, so it would be amazing to import it as a JSX component. It is possible?

Thanks!

Component package peer dependency issue

The React peer dependency of the component package is currently locked to version ^17.0.2. This causes problems when the package is used in React 18 applications. The following npm install warnings then occur:
image

Proxy Config

Hi, I'm trying to use the viewing features through Google Drive using a dev app, but I'm running into a problem with the proxy server configuration (Error while reading VOSviewer JSON data: Re-select the file.), can you help me resolve this?

Clusters labels size with low resolution issue

Hello,

I'm using the the vosviewer-online component within a vite typescript application.

The clusters labels in the legend and the legend box have sometimes a disproportionate size.
It seems to depends to the resolution of the screen.

I did some tests with the exact same page :

  1. On my windows machine
  • 1536 x 864 (and lower) :
    image
  • 1920 x 1080 :
    image
  1. On my mac
  • 1680 x 1050 (and lower) :
    image
  • 2048 x 1280 :
    image

What could be the cause for this behavior ?
Thank in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.