Giter Club home page Giter Club logo

vosviewer-online's Introduction

VOSviewer Online

Build master branch License: MIT Latest release npm version DOI

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, such as co-authorship networks, citation networks, and co-occurrence networks.

VOSviewer Online has been developed by Nees Jan van Eck and Ludo Waltman at the Centre for Science and Technology Studies (CWTS) at Leiden University.

The development of VOSviewer Online has benefited from contributions by Olya Stukova and Nikita Rokotyan from Interacta.

The development of VOSviewer Online has been supported financially by Digital Science and Zeta Alpha.

VOSviewer Online has been developed in JavaScript using React, Material-UI, D3, and a few other open source libraries.

VOSviewer Online

Usage

VOSviewer Online is hosted at https://app.vosviewer.com. Using VOSviewer Online, visualizations of bibliometric networks created by VOSviewer can be explored interactively in a web browser. To open a visualization, use the Open button at the top right of your browser window. See the documentation for an explanation of the user interface of VOSviewer Online, the interpretation of a visualization, and the file types supported by VOSviewer Online.

VOSviewer Online can also be used to share interactive visualizations by embedding these visualizations in webpages and online platforms.

Embedding VOSviewer Online in a webpage using an inline frame

VOSviewer Online can be embedded in a webpage using an inline frame (<iframe> HTML element), as illustrated by the following HTML code snippet:

<iframe
  allowfullscreen="true"
  src="https://app.vosviewer.com/?json=https://app.vosviewer.com/data/QSS_SM_2020-2021_co-authorship_network.json&simple_ui=true"
  width="100%"
  height="75%"
  style="border: 1px solid #ddd; max-width: 1200px; min-height: 500px"
>
</iframe>

For more information, see the documentation on sharing a visualization.

Integrating VOSviewer Online in a React application

VOSviewer Online can be integrated in a React application using the VOSviewer Online React component package published on npm.

Run

npm install vosviewer-online

to install the VOSviewer Online React component package.

The following code snippet illustrates the use of the VOSviewer Online React component:

import { VOSviewerOnline } from 'vosviewer-online'

<VOSviewerOnline data={{ ... }} parameters={{ ... }} />

The data and parameters props are optional. The data prop can be used to provide network data to the VOSviewer Online React component. The data must be in the VOSviewer JSON format. The parameters prop can be used to adjust the visualization of a network. The available parameters can be found here.

Documentation

Documentation of VOSviewer Online is available here.

License

VOSviewer Online is distributed under the MIT license.

Issues

If you encounter any issues, please report them using the issue tracker on GitHub.

Contribution

You are welcome to contribute to the development of VOSviewer Online. Please follow the typical GitHub workflow: Fork from this repository and make a pull request to submit your changes. Make sure that your pull request has a clear description and that the code has been properly tested.

Development and deployment

The latest stable version of the code is available from the master branch on GitHub. The most recent code, which may be under development, is available from the develop branch.

Requirements

To run VOSviewer Online locally and to build production-ready bundles, Node.js and npm need to be installed on your system.

Setup

Run

npm install

to install all required Node.js packages.

Development

Run

npm run dev

to build a development version and serve it with hot reload at http://localhost:8600.

Deployment

Run

npm run build

to build a deployment version. The production-ready minified bundle is stored in the dist/ folder.

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  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vosviewer-online's Issues

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

Info box width issue

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

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.

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.

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.

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!

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];

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

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"
        }

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.

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.

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?

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.

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.

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.

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!

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.

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

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.