echarts
react-vis
Our great sponsors
echarts | react-vis | |
---|---|---|
17 | 21 | |
58,944 | 8,373 | |
1.0% | - | |
8.7 | 2.9 | |
3 days ago | over 1 year ago | |
TypeScript | JavaScript | |
Apache License 2.0 | MIT License |
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.
echarts
-
A web crawler program for crawling Echarts official website examples implemented by Puppeter
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
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
Coded mainly in Perl and Gnuplot, recently extended by Python Pandas and JavaScript Tabulator and ECharts
-
Build complex SPAs quickly with vue-element-admin
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
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
apache-echarts for charting system (it has 3d chart anyway)
- [OC] The crude birth rate in European Union from 1960 to 2020
-
Use types (which import other types that reference the DOM) inside a web-worker!
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
ECharts -- open source js lib for enterprise-grade charts
- [OC] U.S. Inflation Reach High in 20 Years
react-vis
-
Level Up Your Web App with Stunning React Charts: Introducing the Top 10 React Charts Libraries
Install react-vis by using the following command:
-
React Chart Library Recommendations
I've heard good things about Uber's react-vis https://www.npmjs.com/package/react-vis
-
Advice on learning front end for data visualization?
D3.js is great for custom data viz. You can get started by including the library in a script tag and not have to mess around with a bundler like Webpack until you are ready and just use plane CSS. D3.js doesn't work well with JS frameworks like React - it was jQuery like DOM manipulation functions. I find the best approach is to let D3 manage its chart and leave React for the UI. Or you can use a more React friendly library like React Viz from Uber. While D3 is great for custom data viz it's time consuming for standard charts. There are a lot of charting libraries out there like Chart.js. There is also Plot which is built on D3.js.
-
The Top 6 ReactJS Chart Libraries for Data Visualization
React Vis averages 100,000+ weekly downloads, 8.3k stars and 850 forks on Github.
-
Getting Started with Data Visualization in React using Chart.js
react-vis
-
How to generate single ES5 bundle file from ES6 project using browserify
I am trying to use react-vis library in my project. In their readme file, they have asked to import library by adding following lines in non-node environment:
-
Getting JS error: "Cannot call a class as a function"
I had an existing working react code written in Typescript (and hence ES6) using react-vis library. The library itself seem to use ES6.
-
Getting JS error: Cannot call a class as a function
I have referenced react-vis library form unpkg as stated in their github repo:
-
Github repositories from large enterprises for every javascript developer
The repository can be found here and is definitely worth taking a look.
-
React Chart - Display data in charts
react-vis - Data visualization library based on React and d3.
What are some alternatives?
Chart.js - Simple HTML5 Charts using the <canvas> tag
recharts - Redefined chart library built with React and D3
d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
GoJS, a JavaScript Library for HTML Diagrams - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.
Highcharts JS - Highcharts JS, the JavaScript charting framework
victory-chart - Chart Component for Victory
vega - A visualization grammar.
jQPlot - A Versatile and Expandable jQuery Plotting Plugin
Frappe Gantt - Open Source Javascript Gantt
visx - 🐯 visx | visualization components
apexcharts.js - 📊 Interactive JavaScript Charts built on SVG
react-chartjs-2 - React components for Chart.js, the most popular charting library