Frappe Charts
react-circle-of-fifths
Frappe Charts | react-circle-of-fifths | |
---|---|---|
2 | 3 | |
14,900 | 9 | |
0.2% | - | |
2.8 | 5.1 | |
23 days ago | about 1 year ago | |
JavaScript | TypeScript | |
MIT License | 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.
Frappe Charts
-
Learn SVG with 25 examples – How to code images in HTML
As a frontend dev who also works in UX and graphics from time to time, I find it helpful to be able to do both, looking at SVGs as both a vector graphics format and a human-readable XML. IME the workflow depends more on whether any SVG is meant to be illustrative (like art) or quantitative (like charts) or interactive and animated/mutable (like a game).
For something like this bell example (https://svg-tutorial.com/svg/bell), you can certainly hand-code it if you're really math-inclined and can estimate the formulas of curves just by looking at them, but for us mere mortals, it's easier to just draw out the curves in a graphics app then export as an SVG. And for things like the ringer (is that what you call it? the orange ball thing at the bottom of the bell that strikes the bell to make the sound), being able to visually draw it on a canvas, change its size, drag it around and play with its colors and dimensions, etc. is really helpful. Figma is fine for simpler graphics, but it's really more of a UX tool than a graphic design tool, and Illustrator is a lot more powerful. Inkscape is a FOSS option.
In other circumstances, though, manipulating the SVG XML directly is also very helpful. Let's say you want to programatically generate a bar chart. If you have a big dataset, it's going to take a designer forever to manually plot them and change them every time the data changes. But it's easy for a dev to use Javascript (or any language) to draw each rectangle, programmatically adjust their heights and colors based on the data, add tooltips, etc. And that way you can dynamically update them in real-time whenever the data changes (like if the user selects a different date range, or new events come in). A lot of this is made easier by libs like https://frappe.io/charts or https://apexcharts.com. But before you take that approach, you should know that for complex charts, sometimes Canvas rendering (or just generating graphics in the backend) can be more performant than SVG.
SVGs can also be animated and interactive, not just with CSS transitions but by directly manipulating the XML geometries, like http://snapsvg.io/demos/ or https://www.svgator.com/ or https://codepen.io/collection/XpwMLO/. This is fine for product pages and such, but for really graphics-intensive apps (full games) it's probably slower than other rendering pipelines. (Not my specialty, won't speculate too much.)
TLDR Drawing them in a graphics app is usually easier for the designers, but the XML can be programmatically manipulated afterward to great effect.
-
[Showoff Saturday] I made a thing that shows you your valorant match stats
charts: https://frappe.io/charts
react-circle-of-fifths
-
Learn SVG with 25 examples – How to code images in HTML
This is really cool! SVG is such a neat and flexible format, I'll definitely be taking some time to work through these tutorials, as it's directly related to some side projects I have going.
Like some of the other commenters here, I've found a lot of fun in building React components that are backed by SVG. React and JSX make it easy to add the interaction, and SVG lets you do some pretty cool UIs that wouldn't be easily possible with just HTML.
I actually have published a React component that renders an interactive "Circle of Fifths," which I built for a music theory side project I was working on (although this project is currently languishing among many other half-baked repos). There's still a lot to do with the component, but it's in a usable state: https://github.com/epiccoleman/react-circle-of-fifths
I wrote what I think is probably my best blog post about the process of figuring out how to build the Circle of Fifths with SVG, if that sounds interesting: https://epiccoleman.com/posts/2023-04-05-svg-circle-of-fifth...
I'm currently building out a fretboard diagram generator using a very similar approach, and having that post on hand for reference has been pretty useful. This is maybe my favorite thing about writing up the stuff I work on, it's nice to be able to "replay" how I thought through a problem.
-
Ask HN: Most interesting tech you built for just yourself?
One of my big "side projects" over the last few months has been my personal website and blog (https://epiccoleman.com). It's not very interesting per se - I mean, who doesn't have a blog these days - but it has been really educational and fun to work on. It's a really simplistic stack which makes working on it pretty frictionless. I spent a lot of time tweaking the look and feel of the site and am pretty happy with how everything has turned out.
I've also been putting a lot of work into a React component that renders a nice looking SVG Circle of Fifths, and just recently got to a point where I felt I could call a release "1.0.0". This has also been a really educational project and I'm super proud of the component. It's a little basic right now, but it looks very nice, and I have a lot of cool features planned.
It's licensed MIT, so if this sounds like something you'd like to use in an app, you can check it out here: https://github.com/epiccoleman/react-circle-of-fifths. I'd love any feedback, issues, etc.
-
Adding interactivity to react-circle-of-fifths
Morning all, this is a new post in my series covering the development of an SVG Circle of Fifths component for React. That component has just recently reached the point where I feel comfortable telling people to try it out and is MIT licensed - if you think you could use a nice looking Circle of Fifths in some musical application you're working on, check it out.
More than happy to accept feedback, PRs or issues on the repo, I've got a lot more stuff planned but the basic usability is there, I think!
https://github.com/epiccoleman/react-circle-of-fifths
What are some alternatives?
DHTMLX Gantt - GPL version of Javascript Gantt Chart
iptv-filter
c3 - :bar_chart: A D3-based reusable chart library
vimwiki - Personal Wiki for Vim
p5.js - p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs —
dizquetv - Create live TV channels from your own media. Access the streams using the simulated HDHomerun tuner or the generated M3U URl.
peity - Progressive <svg> pie, donut, bar and line charts
Simplest-File-Renamer - Simplest file renamer - rename your files quickly and easily
react-vis - Data Visualization Components
Video-Hub-App - Official repository for Video Hub App
echarts - Apache ECharts is a powerful, interactive charting and data visualization library for browser
mblaze - Unix utilities to deal with Maildir