react-simple-maps VS echarts

Compare react-simple-maps vs echarts and see what are their differences.

react-simple-maps

Beautiful React SVG maps with d3-geo and topojson using a declarative api. (by zcreativelabs)

echarts

Apache ECharts is a powerful, interactive charting and data visualization library for browser (by apache)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
react-simple-maps echarts
7 17
2,997 58,944
1.2% 1.0%
0.0 8.7
5 months ago 1 day ago
JavaScript TypeScript
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

react-simple-maps

Posts with mentions or reviews of react-simple-maps. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-04.
  • How do I do charts like these?
    3 projects | /r/webdev | 4 Jun 2023
    I believe that exact chart is something from https://www.react-simple-maps.io/ , its a pretty good tool that frequently updated and such.
  • How to make World map porn? (World map with different color intensity for each country)
    1 project | /r/react | 13 Mar 2023
    Use this https://www.react-simple-maps.io
  • How do I create a interactive map in nextjs?
    2 projects | /r/nextjs | 3 Feb 2023
    Hey! I have a school project for history, and I was thinking of creating a map of my country, split it out into counties and when the teacher clicks on one of the counties it pops up a timeline of the mos important events in that county. The problem is that I am looking for a next js/react lib to help me out. I saw https://www.react-simple-maps.io/ and tried to use it but cannot make it. I was wondering if anyone knows how I can create such a map or any npm package i can use. Thanks in advance!
  • 75 Blog Posts to Learn Data Visualization
    5 projects | dev.to | 30 Nov 2022
    React-simple-maps is a react component library to help make SVG mapping with d3-geo, TopoJSON, and React easier. One of the strengths of using react-simple-maps is that it gives React full control over the DOM and does not treat the SVG map as a black box. This means that react-simple-maps can easily take advantage of the entire React ecosystem and all the good things that come with it.
  • React map libraries overview + react-leaflet complete installation debugging guide
    4 projects | dev.to | 28 Jul 2022
    React Simple Maps Great library in general. It is very easy to use and has decent documentation with some examples as well. Also as the name goes, it is very lightweight. However, it did not suit my purpose of needing to display precise locations with markers. Yes, it is possible to do so by using React Simple Maps, but I would need to redesign the whole map template which was not worth putting in my effort and time while there are already existing libraries that have maps with great default templates.
  • I built a full stack website where you guess the country based on its music!
    7 projects | /r/webdev | 6 Nov 2021
    Glad you enjoyed! The globe is built using d3 and topojson, and the map layout is built using the react-simple-maps library (which is itself built on d3).
  • Overview of Commercial and Open-Source UI Components for React
    11 projects | dev.to | 1 Jul 2021
    React Simple Maps is a tool devoted to simplifying the creation and styling of SVG maps in React. It relies on d3-geo and topojson and offers a declarative API for generating map charts. Here you get access to a collection of isolated mapping components that can be combined in different ways. React Simple Maps helps you to take care of all wearisome stuff such as panning, zooming, etc., and concentrate on making visually appealing maps. If necessary, it is also possible to add any 3rd party React libraries. Useful resources: documentation, examples, GitHub repository Package size: 74.3 kB License: MIT

echarts

Posts with mentions or reviews of echarts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-22.
  • A web crawler program for crawling Echarts official website examples implemented by Puppeter
    1 project | dev.to | 12 Apr 2024
    import puppeteer from "puppeteer"; import fs from "node:fs"; import { storiesTpl, storiesArgs, generOptions, generOptionsWithFn, } from "./template.mjs"; const ECHARTS_BASE_URL = "https://echarts.apache.org/examples/en/index.html"; function capitalizeFirstLetter(str) { if (!str || str.length === 0) { return ""; } str = str.toLowerCase(); return str.charAt(0).toUpperCase() + str.slice(1); } (async function () { const browser = await puppeteer.launch(); const page = await browser.newPage(); // Navigate the page to a URL await page.goto(ECHARTS_BASE_URL); // Set screen size await page.setViewport({ width: 1080, height: 1024 }); // Type into search box // const examples = await page.type([".example-list-panel"]); const searchResultSelector = ".example-list-panel > div"; const results = await page.$$(searchResultSelector); for (const element of results) { // gener namespace const ele = await element.$(".chart-type-head"); const title = await ele.evaluate((el) => el.textContent); let namespace = title.split(" ").filter(Boolean); namespace = namespace.slice(0, namespace.length - 1); namespace = namespace .map((item) => item.replace("\n", "").replace("/", "")) .filter(Boolean) .join(""); console.log(`${namespace} start`); const instances = await element.$$(".row .example-list-item"); const components = []; for (const instance of instances) { // title const titleElement = await instance.$(".example-title"); const subTitle = await titleElement.evaluate((el) => el.textContent); const titles = subTitle .split(" ") .filter(Boolean) .map((item) => item .replace(/\+/g, "") .replace(/\(/g, "") .replace(/\)/g, "") .replace(/-/g, "") ); const title = titles.map((item) => capitalizeFirstLetter(item)).join(""); const link = await instance.$(".example-link"); const newPagePromise = new Promise((resolve) => { browser.on("targetcreated", async (target) => { if (target.type() === "page") { const targetPage = await target.page(); const url = await targetPage.url(); if (url.includes("editor")) { resolve(targetPage); } } }); }); await link.click(); const newPage = await newPagePromise; await newPage.setViewport({ width: 40000, height: 20000 }); await newPage.waitForSelector(".ace_text-layer"); await new Promise((resolve) => { setTimeout(() => { resolve(); }, 3000); }); let content = await newPage.evaluate( () => document.querySelector(".ace_text-layer").innerText ); content = content .replace(/\[\]/g, "[] as any") .replace(//g, "") .replace(/var/g, "let"); let options; if (content.includes("myChart")) { options = generOptionsWithFn({ options: content }); } else { options = generOptions({ options: content }); } components.push({ options, title }); await newPage.close(); } const args = components .filter(({ options }) => { if (options.includes("$")) return false; return true; }) .map(({ options, title }) => storiesArgs({ options: options, name: title }) ) .join("\r\n"); const scripts = storiesTpl({ namespace: `Charts/${namespace}`, components: args, }); fs.writeFileSync(`./bots/assests/${namespace}.stories.ts`, scripts); console.log(`${namespace} end`); } })();
  • Show HN: Paisa – Open-Source Personal Finance Manager
    18 projects | news.ycombinator.com | 22 Sep 2023
    I want to know where my money goes. I like to look at stacked-area (or column) charts of the categories of spending. To make this work I have some software I made ~20 years ago that does double-entry book-keeping. At the end of the month, I import statements from financial service providers (eg: Wells Fargo, Chase, PayPal, Stripe, etc). Lots of stuff is repeat purchases (eg: Shell Gas) and my software automatically categorises. Some transactions I have to categorise manually. Each category / vendor becomes an expense-account and my banks and CCs exist as assets and liabilities.

    Once the import and reconciliation is done I pull up a my column chart that shows where the money went -- and can compare over time -- see a full year of movement. I've been through various charting libraries with it and most recently moved to ECharts[0] -- so I'm planning to expand with Treemap and Sankey style visuals.

    The import process, which I do monthly takes maybe an hour. I'm importing from like 5 bank accounts, 3 payment processors, 4 CC providers. The part that takes the longest is signing into their slow sites, navigating past pop-up/interstitial, getting to their download page and waiting for it to download. Loads of these sites (WF, Chase) have been "modernised" and have some real bullshit UI/UX going on -- lags, no keyboard, elements jump around, forms can't remember state, ctrl+click won't open in a new page cause that damned link isn't actually a link but some nested monster of DIVs with 19 event listeners on each one -- and somehow still all wrong.

    I think the most-best feature would be to have some tool automatically get all my transactions from all these providers into one common format. Gimmee some JSON with like 10 commonly-named fields for the normal stuff and then 52 other BS fields that each provider likes to add (see a PayPal CSV for example). Does that exist and I just don't know?

    [0] https://echarts.apache.org/

  • Personal Sträva Activity Statistics
    3 projects | /r/Strava | 13 Jun 2023
    Coded mainly in Perl and Gnuplot, recently extended by Python Pandas and JavaScript Tabulator and ECharts
  • Build complex SPAs quickly with vue-element-admin
    6 projects | dev.to | 30 Mar 2023
    Dashboards have a lot of charts for different forms and data. This is another common requirement. This template recommends Apache ECharts, a powerful, easy-to-use, and flexible JavaScript visualization library.
  • Using Apache ECharts in React Native - wrn-echarts
    4 projects | /r/reactnative | 1 Feb 2023
    We have developed an open source graphics library for react native APP, which is based on Apache ECharts and uses RNSVG or RNSkia for rendering in a way that is almost identical to using it in the web, and can satisfy most graphics situations. The project source code is available at https://github.com/wuba/wrn-echarts .
  • Best practice for UI design in scientific app
    4 projects | /r/sveltejs | 27 Nov 2022
    apache-echarts for charting system (it has 3d chart anyway)
  • [OC] The crude birth rate in European Union from 1960 to 2020
    1 project | /r/dataisbeautiful | 12 Oct 2022
  • Use types (which import other types that reference the DOM) inside a web-worker!
    1 project | /r/Angular2 | 21 Jul 2022
    How are you importing the definition? Assuming you are using "apache/echarts" and not some other lib named "echarts", you should be able to import DatasetModel directly and let tree shaking trim out what you're not using.
  • Pulling and visualizing data from a database client side
    4 projects | /r/csharp | 20 May 2022
    ECharts -- open source js lib for enterprise-grade charts
  • [OC] U.S. Inflation Reach High in 20 Years
    1 project | /r/dataisbeautiful | 12 Apr 2022

What are some alternatives?

When comparing react-simple-maps and echarts you can also consider the following projects:

recharts - Redefined chart library built with React and D3

Chart.js - Simple HTML5 Charts using the <canvas> tag

heatmap.js - 🔥 JavaScript Library for HTML5 canvas based heatmaps

d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

metrics-graphics - A library optimized for concise and principled data graphics and layouts.

Highcharts JS - Highcharts JS, the JavaScript charting framework

dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js

vega - A visualization grammar.

uvCharts - Simple yet powerful JavaScript Charting library built using d3.js

Frappe Gantt - Open Source Javascript Gantt

paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey

apexcharts.js - 📊 Interactive JavaScript Charts built on SVG