<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: AdminMart</title>
    <description>The latest articles on Forem by AdminMart (@adminmart).</description>
    <link>https://forem.com/adminmart</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F7278%2Faf2e665b-ebb7-45c8-9f0c-2da3d127b9ae.png</url>
      <title>Forem: AdminMart</title>
      <link>https://forem.com/adminmart</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/adminmart"/>
    <language>en</language>
    <item>
      <title>10+ Best Analytics Dashboard Templates for 2026</title>
      <dc:creator>Sunil Joshi</dc:creator>
      <pubDate>Tue, 16 Dec 2025 09:59:11 +0000</pubDate>
      <link>https://forem.com/adminmart/10-best-analytics-dashboard-templates-for-2025-3o8j</link>
      <guid>https://forem.com/adminmart/10-best-analytics-dashboard-templates-for-2025-3o8j</guid>
      <description>&lt;p&gt;When you’re working with data, the right analytics dashboard template can change how you interpret and manage it. In today’s world, making smart decisions based on clear and actionable insights is more crucial than ever. If you’re working in business intelligence, marketing, or any data-driven field, these templates will help you showcase the data in a way that’s both easy to understand and impactful.&lt;/p&gt;

&lt;p&gt;Why You Need the Best Analytics Dashboard Templates&lt;/p&gt;

&lt;p&gt;As the world gets faster and faster, the importance of analytics and on-the-fly decision-making becomes increasingly critical. A well-crafted, powerful analytics dashboard allows the user to spend minimal time on performance tracking and easily formulate quarterly and annual goals. As we approach the year 2026, the most important  &lt;a href="https://adminmart.com/templates/" rel="noopener noreferrer"&gt;&lt;strong&gt;dashboard templates&lt;/strong&gt;&lt;/a&gt;  will be able to be tailored to the user in trend monitoring, KPI tracking, and actionable data reporting.&lt;/p&gt;

&lt;p&gt;Checklist: Key Features of an Analytics Dashboard Template&lt;/p&gt;

&lt;p&gt;Before we dive into our top 10+ free and premium templates, we’ve prepared a checklist for the analytics dashboard features that you will want to have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Customization Options: Can you easily modify the layout and components to suit your specific needs?&lt;/li&gt;
&lt;li&gt;  Real-Time Data Tracking: Does the template support real-time data tracking, ensuring you’re always working with the latest insights?&lt;/li&gt;
&lt;li&gt;  Responsive Design: Is the design mobile-friendly and adaptable to various screen sizes, offering a seamless user experience across devices?&lt;/li&gt;
&lt;li&gt;  Pre-made Widgets: Does it include essential widgets like line, bar, and pie charts, tables, and graphs to efficiently display your data?&lt;/li&gt;
&lt;li&gt;  Tech Stack Compatibility: Is the template built on modern frameworks, ensuring faster performance and scalability for future growth?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you know what to keep an eye out for, let’s explore the best analytics dashboard templates for 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Best Analytics Dashboard Templates&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Discover the top analytics dashboard templates that offer powerful features, seamless integration, and user-friendly designs to elevate your data tracking and reporting.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Modernize Nextjs Tailwind&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Modernize Next.js Tailwind is a  &lt;a href="https://adminmart.com/templates/nextjs/" rel="noopener noreferrer"&gt;&lt;strong&gt;Nextjs admin template&lt;/strong&gt;&lt;/a&gt;  integrated with Tailwind CSS that offers a sleek, modern, and minimalist design for developing modern web applications and dashboards faster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb7ne0bd62lgwmds3tmvo.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb7ne0bd62lgwmds3tmvo.webp" alt="Modernize Nextjs Tailwind" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: Next.js, Tailwind CSS, JavaScript, React, ShadCN&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  SEO friendly with SSR&lt;/li&gt;
&lt;li&gt;  Built with Next.js 16 and Tailwind 4 version for a perfect balance of speed and flexibility&lt;/li&gt;
&lt;li&gt;  5+ Beautiful Dashboards &amp;amp; 150+ UI Components&lt;/li&gt;
&lt;li&gt;  Data is easily visualized with pre-built charts and graphs&lt;/li&gt;
&lt;li&gt;  Fully responsive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://modernize-tailwind-nextjs-main.vercel.app/dashboards/general" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-tailwind-nextjs-dashboard-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2. MaterialM Tailwind React&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;MaterialM Tailwind React is super easy to customize. Having modern design trends makes it a great tool for creating scalable dashboards and analytics applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0prhplo9pcft9z96gfy1.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0prhplo9pcft9z96gfy1.webp" alt="MaterialM Tailwind React" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: React, Tailwind CSS, JavaScript, HTML&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Fast &amp;amp; responsive UI is powered by React and Tailwind CSS&lt;/li&gt;
&lt;li&gt;  Fully responsive across all devices&lt;/li&gt;
&lt;li&gt;  Widgets are available for charts, tables, and graphs&lt;/li&gt;
&lt;li&gt;  Seamless integration with backend services and APIs&lt;/li&gt;
&lt;li&gt;  Comes with 65+ Page Templates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://materialm-react-tailwind-main.netlify.app/dashboards/analytics" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3. MatDash Angular&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An  &lt;a href="https://adminmart.com/templates/angular/" rel="noopener noreferrer"&gt;&lt;strong&gt;Angular dashboard template&lt;/strong&gt;&lt;/a&gt;  designed for easy integration. It offers a set of reusable components and a highly customizable layout.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24ln77lf8b64jhchv6ui.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24ln77lf8b64jhchv6ui.webp" alt="MatDash Angular" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: Angular, TypeScript, HTML, CSS, JavaScript&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Developed with Angular 20 version to ensure it’s dynamic and capable of handling a lot of data&lt;/li&gt;
&lt;li&gt;  6+ Demo Pages&lt;/li&gt;
&lt;li&gt;  Comes with charts, tables, and other data visualization tools&lt;/li&gt;
&lt;li&gt;  Easy-to-use and well-documented&lt;/li&gt;
&lt;li&gt;  12+ Pre-built applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://matdash-angular-main.netlify.app/dashboards/dashboard2" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://adminmart.com/product/matdash-material-angular-dashboard-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;4. Spike Next.js&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is a premium  &lt;strong&gt;Next.js&lt;/strong&gt; &lt;strong&gt;dashboard&lt;/strong&gt; designed for richly SEO-optimized applications and webpages. Because of its great user experience, it is ideal for applications centered on analytics, CRM, and others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2aicn8j6uz0rm4u2zios.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2aicn8j6uz0rm4u2zios.webp" alt="Spike Next.js admin" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: Next.js, React, JavaScript, HTML, CSS, Tailwind CSS&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  65+ Page Templates and 12+ ready to use applications&lt;/li&gt;
&lt;li&gt;  Built with Next.js 15 for performance and scalable applications&lt;/li&gt;
&lt;li&gt;  Interactive visualization through charts, tables, and graphs&lt;/li&gt;
&lt;li&gt;  Easy customization with reusable components&lt;/li&gt;
&lt;li&gt;  Mobile-first design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://spike-nextjs-pro-main.vercel.app/dashboards/dashboard2" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/spike-nextjs-admin-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;5. MaterialPRO Bootstrap&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;MaterialPRO is a powerful  &lt;a href="https://adminmart.com/templates/bootstrap-admin/" rel="noopener noreferrer"&gt;&lt;strong&gt;Bootstrap admin template&lt;/strong&gt;&lt;/a&gt;. It was designed to serve data-driven dashboards and analytical applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7mxfq661y2ogmhcf6d4f.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7mxfq661y2ogmhcf6d4f.webp" alt="MaterialPRO Bootstrap admin" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: Bootstrap, HTML, CSS, JavaScript, JQuery&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Built with Bootstrap 5&lt;/li&gt;
&lt;li&gt;  500+ UI Components and Page Templates&lt;/li&gt;
&lt;li&gt;  Extensive array of charts, tables, and forms&lt;/li&gt;
&lt;li&gt;  Fully responsive&lt;/li&gt;
&lt;li&gt;  Compatible with all browsers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://bootstrapdemos.wrappixel.com/materialpro/dist/main/index3.html" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/materialpro/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;6. Tailwindadmin React&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Tailwindadmin is a modern dark theme  &lt;a href="https://adminmart.com/templates/react/" rel="noopener noreferrer"&gt;&lt;strong&gt;React admin template&lt;/strong&gt;&lt;/a&gt;  for very critical applications, which is inspired by Material Design created by Google. It is system-oriented with a polished style and is fully responsive for all devices, like desktop and mobile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhq0g9u3kse9redgkh3d5.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhq0g9u3kse9redgkh3d5.webp" alt="Tailwindadmin React admin" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: React, Tailwind CSS, JavaScript, HTML&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Built using React 19 &amp;amp; Tailwind CSS 4 version, providing a lightning-fast UI&lt;/li&gt;
&lt;li&gt;  4+ Demo Pages and 6+ Front-end pages&lt;/li&gt;
&lt;li&gt;  Tools for visualizing data in the form of graphs and charts&lt;/li&gt;
&lt;li&gt;  Customization is simple and easy&lt;/li&gt;
&lt;li&gt;  Mobile friendly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://react.tailwind-admin.com/dashboards/general" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://tailwind-admin.com/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;7. Minimal Dashboard&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Minimal Dashboard is a sleek and modern template for an admin dashboard. While it is simple, it is also very powerful and provides an experience for designers who want a design with powerful functions, but simple and easy to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9j5nvprmchem0ktp2qn.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9j5nvprmchem0ktp2qn.webp" alt="Minimal Dashboard" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: React, Material UI, JavaScript, HTML&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Having a simple design makes it easy to use&lt;/li&gt;
&lt;li&gt;  Flexibly Layout adjusts to your needs&lt;/li&gt;
&lt;li&gt;  Real-time data rendering&lt;/li&gt;
&lt;li&gt;  The user interface is simple in design for simple navigation&lt;/li&gt;
&lt;li&gt;  Pre-integrated with important charts and tables&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://free.minimals.cc/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://github.com/minimal-ui-kit/material-kit-react" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;8. Sing App&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Sing App is a lightweight and  &lt;a href="https://www.wrappixel.com/templates/category/simple-dashboard/" rel="noopener noreferrer"&gt;&lt;strong&gt;simple admin template&lt;/strong&gt;&lt;/a&gt;. It includes a complete set of pre-built UI components and powerful features to help you create dashboards faster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2p2ydswondzd2g6enw53.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2p2ydswondzd2g6enw53.webp" alt="Sing App Admin" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: Vue.js, HTML, CSS, JavaScript&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Built using Vue.js, which allows for rapid, fast &amp;amp; dynamic updates&lt;/li&gt;
&lt;li&gt;  Complete set of UI components, including tables, charts, and forms&lt;/li&gt;
&lt;li&gt;  Complete responsiveness to multiple screen sizes&lt;/li&gt;
&lt;li&gt;  Multiple pre-built design layouts and color themes&lt;/li&gt;
&lt;li&gt;  Easily customized and integrated with other tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://flatlogic.com/admin-dashboards/sing-app-vue-dashboard/demo" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://github.com/flatlogic/sing-app-vue-dashboard" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;9. Argon&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Argon is a free Next.js dashboard template focused on clean code, easy customization, and modern components with the ability to build fully-featured dashboards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1m4azn2s2ipcjz66k35.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1m4azn2s2ipcjz66k35.webp" alt="Argon admin" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: Next.js, React, JavaScript, HTML, CSS&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Build with Next.js for better performance and SEO&lt;/li&gt;
&lt;li&gt;  Beautiful design based on the Argon design system&lt;/li&gt;
&lt;li&gt;  Several ready-made pages and UI elements&lt;/li&gt;
&lt;li&gt;  Responsive and mobile-ready&lt;/li&gt;
&lt;li&gt;  Integrated with high-quality charts and graphs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://demos.creative-tim.com/nextjs-argon-dashboard/admin/dashboard" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://github.com/creativetimofficial/nextjs-argon-dashboard" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;10. Mantine&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Mantine is a modern React library that provides a set of high-quality React components and hooks. This template is designed for developers who want to build dashboards with an elegant and flexible design quickly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ed1z42cw9qc4ppglnby.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ed1z42cw9qc4ppglnby.webp" alt="Mantine admin" width="746" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tech Stack: React, Mantine UI, JavaScript, TypeScript&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  Comes with ready-to-use UI components, including charts, forms, and tables&lt;/li&gt;
&lt;li&gt;  Customizable theme and layout options&lt;/li&gt;
&lt;li&gt;  Designed with responsiveness in mind&lt;/li&gt;
&lt;li&gt;  Comes with a lot of features such as modals, notifications, and more&lt;/li&gt;
&lt;li&gt;  Easy to integrate with React applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://mantine-analytics-dashboard.netlify.app/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://github.com/design-sparx/mantine-analytics-dashboard" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Frequently Asked Questions (FAQs)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How can I configure these dashboard templates?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These templates are highly modular for easy customization. You are free to change layouts, colors, and different widgets as needed. Also, the documentation is provided with each template.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are these templates mobile-friendly?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yes, all the templates listed in this blog post are fully responsive and mobile optimized so that they look beautiful on both desktop as well on mobile devices.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Can I integrate these templates with my existing backend system?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yes, these templates are designed for simple interfacing with your backend systems. Whether you are using a REST API, GraphQL, or any other data service, the templates are flexible enough to be integrated without any hassle.&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;If you are looking for the latest Tailwind templates, go with  &lt;a href="https://adminmart.com/product/modernize-tailwind-nextjs-dashboard-template/" rel="noopener noreferrer"&gt;&lt;strong&gt;Modernize NextJs Tailwind&lt;/strong&gt;&lt;/a&gt;  or  &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;&lt;strong&gt;MaterialM Tailwind React&lt;/strong&gt;&lt;/a&gt;  for the clean and responsive templates, because you will be able to modify the template the most.&lt;/p&gt;

&lt;p&gt;OR&lt;/p&gt;

&lt;p&gt;If your priority is SEO, performance, and server-side rendering,  &lt;a href="https://www.wrappixel.com/templates/spike-nextjs-admin-template/" rel="noopener noreferrer"&gt;&lt;strong&gt;Spike Nextjs&lt;/strong&gt;&lt;/a&gt;  is the best option because it really has the best Next.js for production-ready dashboards.&lt;/p&gt;

&lt;p&gt;OR&lt;/p&gt;

&lt;p&gt;For Angular users, the most reasonable choice is  &lt;a href="https://adminmart.com/product/matdash-material-angular-dashboard-template/" rel="noopener noreferrer"&gt;&lt;strong&gt;MatDash Angular&lt;/strong&gt;&lt;/a&gt;, especially for enterprise and complex applications.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>webdev</category>
      <category>react</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Flowbite React vs. Shadcn: Which UI Library Should You Choose for Your React Project?</title>
      <dc:creator>Sunil Joshi</dc:creator>
      <pubDate>Mon, 31 Mar 2025 07:02:39 +0000</pubDate>
      <link>https://forem.com/adminmart/flowbite-react-vs-shadcn-which-ui-library-should-you-choose-for-your-react-project-nfl</link>
      <guid>https://forem.com/adminmart/flowbite-react-vs-shadcn-which-ui-library-should-you-choose-for-your-react-project-nfl</guid>
      <description>&lt;p&gt;Building a modern web app’s UI from scratch is like assembling IKEA furniture without the manual. You’ll waste hours tweaking buttons, debugging dropdowns, and crying over inconsistent spacing. That’s where UI libraries like &lt;strong&gt;&lt;a href="https://flowbite-react.com/" rel="noopener noreferrer"&gt;Flowbite React&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://ui.shadcn.com/" rel="noopener noreferrer"&gt;Shadcn&lt;/a&gt;&lt;/strong&gt; come in—thy hand you the tools to build faster. But which one is right for &lt;em&gt;your&lt;/em&gt; project?&lt;/p&gt;

&lt;p&gt;In this guide, we’ll dissect both libraries, compare their strengths, and show you how &lt;strong&gt;&lt;a href="https://adminmart.com/" rel="noopener noreferrer"&gt;pre-built admin templates&lt;/a&gt;&lt;/strong&gt; can turn months of work into days.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Flowbite React?
&lt;/h2&gt;

&lt;p&gt;Flowbite React is an open-source UI component library built for React that’s powered by  &lt;a href="https://adminmart.com/templates/tailwind-templates/" rel="noopener noreferrer"&gt;Tailwind CSS&lt;/a&gt;. It’s designed to get you up and running fast with a collection of pre-styled, accessible components—from dropdowns and modals to slick forms and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Pre-Built Components&lt;/strong&gt;: 50+ elements styled with Tailwind’s utility classes.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Dark Mode Toggle&lt;/strong&gt;: Switch themes with a single line of code.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Interactive Elements&lt;/strong&gt;: Dropdowns, tooltips, and datepickers with built-in JavaScript.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Community-Driven&lt;/strong&gt;: Open-source updates and third-party plugins.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Code Example: Flowbite Button
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flowbite-react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  

&lt;span class="c1"&gt;// A fully styled button with hover effects  &lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;pill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;  
  &lt;span class="nx"&gt;Click&lt;/span&gt; &lt;span class="nx"&gt;Me&lt;/span&gt;  
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Button&amp;gt; &lt;/span&gt;&lt;span class="err"&gt; 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Pros
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Speedy Setup:&lt;/strong&gt;  Super-fast integration that helps you build prototypes and MVPs quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Great Documentation:&lt;/strong&gt;  Comprehensive guides and an active community make it easier to troubleshoot issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Responsive Design:&lt;/strong&gt;  Components look fantastic on all devices, with built-in support for dark mode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Consistent Styling:&lt;/strong&gt;  Pre-designed elements ensure a uniform look throughout your application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt;  Components are built with accessibility in mind, reducing development headaches later.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Customization Limits:&lt;/strong&gt;  The pre-styled approach might constrain developers who want a radically unique look.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Smaller Ecosystem:&lt;/strong&gt;  Fewer third-party add-ons compared to some other libraries.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Opinionated Design:&lt;/strong&gt;  May not easily fit projects that require a completely custom aesthetic.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Dependency on Tailwind:&lt;/strong&gt;  If you’re not familiar with Tailwind CSS, there might be a learning curve.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  When to Choose Flowbite React
&lt;/h3&gt;

&lt;p&gt;Flowbite React is ideal if you need to build something quickly without reinventing the wheel. It works best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Rapid Prototyping &amp;amp; MVPs:&lt;/strong&gt;  Get a working model up in no time with minimal setup.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Startups &amp;amp; Small Teams:&lt;/strong&gt;  If you’re short on design resources, the pre-styled components ensure a professional look without hiring a UI designer.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Projects Favoring Consistency:&lt;/strong&gt;  When you need a uniform design language across your application, Flowbite React’s opinionated styling is a big plus.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Tailwind Enthusiasts:&lt;/strong&gt;  If your project already leverages Tailwind CSS, Flowbite React integrates seamlessly, reducing the time spent on custom styling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Imagine having a head start on your next project with a template that not only looks stunning but also works like a charm. The  &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;MaterialM Template&lt;/a&gt;  is designed with Flowbite React to give you a smooth, plug-and-play experience. This template comes loaded with everything you need—from a fully responsive layout to a best collection of pre-built components, it’s crafted to save you hours of development time.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffwg0dolgtk5mafcgyeih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffwg0dolgtk5mafcgyeih.png" alt=" " width="794" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What’s Inside  &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;MaterialM Shadcn Template&lt;/a&gt;👇
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  200+ enhanced Flowbite React components (buttons, charts, forms, tables) pre-integrated with Tailwind CSS&lt;/li&gt;
&lt;li&gt;  Global dark/light mode toggling with zero CSS overrides&lt;/li&gt;
&lt;li&gt;  TypeScript-ready codebase for enterprise scalability&lt;/li&gt;
&lt;li&gt;  6 demo variations: Main Dashboard, Dark Mode Edition, RTL support, Horizontal &amp;amp; Mini Sidebar layouts&lt;/li&gt;
&lt;li&gt;  Integration with modern tech: Shadcn &amp;amp; Headless UI, Firebase Auth, SWR data fetching, and i18n React&lt;/li&gt;
&lt;li&gt;  Real-world application templates for eCommerce, Healthcare, and SaaS&lt;/li&gt;
&lt;li&gt;  Optimized, pixel-perfect responsive layouts&lt;/li&gt;
&lt;li&gt;  1-year updates and support with priority bug fixes and React 18+ compatibility&lt;/li&gt;
&lt;li&gt;  MIT License for risk-free use in client projects or internal tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Shadcn?
&lt;/h2&gt;

&lt;p&gt;Shadcn takes a different approach by offering unstyled, headless components. This means you get a bare-bones foundation, leaving all the creative control in your hands. It’s perfect if you want to build something that’s truly one-of-a-kind.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Zero Default Styling&lt;/strong&gt;: Style components with CSS, Tailwind, or CSS-in-JS.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Framework-Agnostic&lt;/strong&gt;: Works with React, Vue, Svelte, or vanilla JS.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;TypeScript Support&lt;/strong&gt;: Built for type-safe enterprise apps.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Accessibility-First&lt;/strong&gt;: ARIA labels, keyboard navigation, and screen reader support.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Code Example: Shadcn Button&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@shadcn/ui&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// A barebones button – you style it yourself&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bg-brand-blue text-white px-4 py-2 rounded-lg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;Click&lt;/span&gt; &lt;span class="nx"&gt;Me&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Pros
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Ultimate Customization:&lt;/strong&gt;  Offers the freedom to design every component exactly how you envision it.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Lightweight Performance:&lt;/strong&gt;  With minimal bloat, your application can load quickly and run smoothly.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Flexibility:&lt;/strong&gt;  The unstyled approach means you can integrate your own design system without fighting against preset styles.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Clean Slate:&lt;/strong&gt;  Perfect for projects where you want full control over the user interface.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Framework Agnostic:&lt;/strong&gt;  While popular with React, its design principles can be applied across multiple frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Extra Setup Required:&lt;/strong&gt;  You need to write your own styles, which might extend development time.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Steeper Learning Curve:&lt;/strong&gt;  Requires a stronger grasp of CSS and design principles to fully leverage its flexibility.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Less Out-of-the-Box:&lt;/strong&gt;  You start with a blank canvas, which can be daunting if you’re looking for a ready-made look.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Potential Inconsistencies:&lt;/strong&gt;  Without pre-defined styling, maintaining uniformity across components depends entirely on your implementation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  When to Choose Shadcn?
&lt;/h3&gt;

&lt;p&gt;Shadcn shines when your project demands a bespoke design that aligns perfectly with your brand identity. Consider it if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Custom Design is a Priority:&lt;/strong&gt;  Ideal for enterprise-level applications where unique branding is non-negotiable.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;You Have a Design-Savvy Team:&lt;/strong&gt;  If your team is comfortable with CSS and enjoys crafting custom styles, Shadcn gives you all the flexibility you need.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Performance is Key:&lt;/strong&gt;  Its lean, unstyled components ensure that you can build fast-loading, efficient applications.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;You Need a Blank Slate:&lt;/strong&gt;  If you want a completely customizable foundation without any pre-imposed design, Shadcn is your best friend.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Looking for a developer-friendly, premium Tailwind CSS template packed with powerful pages and components ?  &lt;a href="https://adminmart.com/product/modernize-tailwind-nextjs-dashboard-template/" rel="noopener noreferrer"&gt;Modernize&lt;/a&gt;  has you covered. Designed by top-notch designers and built with industry-standard code, it’s your go-to choice for creating scalable web applications hassle-free.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnmulkc36ng213rqpgn3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnmulkc36ng213rqpgn3.jpg" alt=" " width="564" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s Inside  &lt;a href="https://adminmart.com/product/modernize-tailwind-nextjs-dashboard-template/" rel="noopener noreferrer"&gt;Modernize Shadcn Template&lt;/a&gt;&lt;/strong&gt;  👇&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  150+ UI Components being given with Modernize Tailwind&lt;/li&gt;
&lt;li&gt;  4+ Frontend Pages&lt;/li&gt;
&lt;li&gt;  6 Pre-defined Theme Colors with Modernize Admin&lt;/li&gt;
&lt;li&gt;  5+ stunning dashboard variations and 9+ application pages&lt;/li&gt;
&lt;li&gt;  5 Demos &amp;amp; 80+ Pages per demo to make it easier&lt;/li&gt;
&lt;li&gt;  i18n React support, Firebase &amp;amp; NextAuth demos&lt;/li&gt;
&lt;li&gt;  Built-in SWR for optimized data fetching&lt;/li&gt;
&lt;li&gt;  Google Fonts and Figma designs for most pages&lt;/li&gt;
&lt;li&gt;  Regular updates, multiple chart options, and form variations&lt;/li&gt;
&lt;li&gt;  Easy folder structure and organized code&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  How to Choose: A Decision Tree (Add Better Flowchart using Figma)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;                      &lt;span class="nx"&gt;Start&lt;/span&gt;
                        &lt;span class="err"&gt;│&lt;/span&gt;
        &lt;span class="err"&gt;┌───────────────┴──────────────┐&lt;/span&gt;
        &lt;span class="err"&gt;│&lt;/span&gt;                              &lt;span class="err"&gt;│&lt;/span&gt;
 &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;What's my timeline?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;     &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Do I have design resources?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="err"&gt;│&lt;/span&gt;                              &lt;span class="err"&gt;│&lt;/span&gt;
  &lt;span class="err"&gt;┌─────┴─────┐&lt;/span&gt;                     &lt;span class="err"&gt;┌──┴──┐&lt;/span&gt;
  &lt;span class="err"&gt;│&lt;/span&gt;           &lt;span class="err"&gt;│&lt;/span&gt;                     &lt;span class="err"&gt;│&lt;/span&gt;     &lt;span class="err"&gt;│&lt;/span&gt;
 &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;month&lt;/span&gt;   &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;month&lt;/span&gt;              &lt;span class="nx"&gt;Yes&lt;/span&gt;    &lt;span class="nx"&gt;No&lt;/span&gt;
  &lt;span class="err"&gt;│&lt;/span&gt;           &lt;span class="err"&gt;│&lt;/span&gt;                     &lt;span class="err"&gt;│&lt;/span&gt;     &lt;span class="err"&gt;│&lt;/span&gt;
  &lt;span class="err"&gt;│&lt;/span&gt;           &lt;span class="o"&gt;|&lt;/span&gt;                     &lt;span class="o"&gt;|&lt;/span&gt;     &lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="err"&gt;│&lt;/span&gt;           &lt;span class="o"&gt;|&lt;/span&gt;                     &lt;span class="err"&gt;│&lt;/span&gt;     &lt;span class="err"&gt;│&lt;/span&gt;
 &lt;span class="nx"&gt;Flowbite&lt;/span&gt;  &lt;span class="nx"&gt;Shadcn&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;Wrappixel&lt;/span&gt;    &lt;span class="nx"&gt;Shadcn&lt;/span&gt;  &lt;span class="nx"&gt;Flowbite&lt;/span&gt;
 &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;   &lt;span class="nx"&gt;Template&lt;/span&gt;                 &lt;span class="err"&gt;│&lt;/span&gt;     &lt;span class="nx"&gt;React&lt;/span&gt;
 &lt;span class="nx"&gt;AdminMart&lt;/span&gt;                          &lt;span class="err"&gt;│&lt;/span&gt;
 &lt;span class="nx"&gt;Template&lt;/span&gt;                 &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Is my app brand-heavy?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                                    &lt;span class="err"&gt;│&lt;/span&gt;
                                 &lt;span class="err"&gt;┌──┴───┐&lt;/span&gt;
                                 &lt;span class="err"&gt;│&lt;/span&gt;      &lt;span class="err"&gt;│&lt;/span&gt;
                                &lt;span class="nx"&gt;Yes&lt;/span&gt;     &lt;span class="nx"&gt;No&lt;/span&gt;
                                 &lt;span class="err"&gt;│&lt;/span&gt;      &lt;span class="err"&gt;│&lt;/span&gt;
                               &lt;span class="nx"&gt;Shadcn&lt;/span&gt;  &lt;span class="nx"&gt;Flowbite&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why Pre-Built Templates Can Be a Game Changer?
&lt;/h2&gt;

&lt;p&gt;Let’s be honest: no one likes reinventing the wheel. Pre-built templates can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Save You Time:&lt;/strong&gt;  Skip the boring setup and jump right into building features.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Ensure Quality:&lt;/strong&gt;  All components are tested to work well together, reducing bugs and compatibility issues.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Boost Productivity:&lt;/strong&gt;  Focus on what really matters instead of fighting with boilerplate code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping It Up
&lt;/h2&gt;

&lt;p&gt;Choosing between Flowbite React and Shadcn really comes down to your project’s specific needs. If you value speed and a ready-to-use design, Flowbite React is a fantastic option. But if you need complete creative control and are ready to put in a bit more work, Shadcn will let you build something truly unique.&lt;/p&gt;

&lt;p&gt;And remember, you don’t have to choose between them entirely. With AdminMart’s  &lt;a href="https://adminmart.com/templates/flowbite-dashboard/" rel="noopener noreferrer"&gt;Flowbite React Templates&lt;/a&gt;  &amp;amp; Wrappixel’s  &lt;a href="https://www.wrappixel.com/templates/category/shadcn-themes/" rel="noopener noreferrer"&gt;Shadcn Templates&lt;/a&gt;, you can enjoy the benefits of both worlds. These  &lt;a href="https://adminmart.com/" rel="noopener noreferrer"&gt;Admin templates&lt;/a&gt;  are designed to help you kickstart your project, save time, and ensure you deliver a top-notch user experience.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>react</category>
      <category>shadcn</category>
    </item>
    <item>
      <title>Best ShadCN E-commerce Templates – Fast &amp; Modern Designs</title>
      <dc:creator>Sunil Joshi</dc:creator>
      <pubDate>Tue, 18 Mar 2025 10:06:37 +0000</pubDate>
      <link>https://forem.com/adminmart/best-shadcn-e-commerce-templates-fast-modern-designs-479</link>
      <guid>https://forem.com/adminmart/best-shadcn-e-commerce-templates-fast-modern-designs-479</guid>
      <description>&lt;p&gt;Building an e-commerce store from scratch can be overwhelming, especially if you’re new to frontend development. But don’t worry—&lt;strong&gt;ShadCN-based E-Commerce templates&lt;/strong&gt;  are here to make it easier for developers to launch modern, stylish, and functional Online stores quickly.&lt;/p&gt;

&lt;p&gt;These templates come  &lt;strong&gt;pre-built with essential features&lt;/strong&gt;  like product pages, checkout systems, user authentication, and modern UI components. With  &lt;strong&gt;&lt;a href="https://react.dev/learn" rel="noopener noreferrer"&gt;React&lt;/a&gt;,  &lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt;,  &lt;a href="https://tailwindcss.com/" rel="noopener noreferrer"&gt;Tailwind CSS&lt;/a&gt;, and  &lt;a href="https://ui.shadcn.com/docs/installation" rel="noopener noreferrer"&gt;ShadCN UI&lt;/a&gt;&lt;/strong&gt;, they offer a powerful and flexible foundation for your online store.&lt;/p&gt;

&lt;h1&gt;
  
  
  Effortless E-Commerce with Top ShadCN UI Templates for Your Online Store
&lt;/h1&gt;

&lt;p&gt;In this article, I’ve handpicked some of the  &lt;strong&gt;Best ShadCN e-commerce templates&lt;/strong&gt;  that will help you  &lt;strong&gt;launch your store quickly and efficiently&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Whether you’re a beginner or an experienced developer, there’s something for you here. Let’s dive in! 🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  MaterialM ShadCN Theme
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;MaterialM is a great choice for developers who want a Google Material Design-based admin panel for their e-commerce store.&lt;/strong&gt;  It follows Google’s Material Design 3 guidelines, ensuring a clean, modern, and consistent UI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Choose MaterialM Shadcn Template?
&lt;/h3&gt;

&lt;p&gt;✅  &lt;strong&gt;Easiest E-commerce Features:&lt;/strong&gt;  Includes a  &lt;strong&gt;shop page, product details, checkout, filters&lt;/strong&gt;, and more.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Additional Features:&lt;/strong&gt;  Comes with a  &lt;strong&gt;blog, invoice section, and user profiles&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Modern UI &amp;amp; Customization:&lt;/strong&gt;  Built with  &lt;strong&gt;Material Design 3&lt;/strong&gt;  for a visually pleasing interface.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flavcyq9b1htuwn3klp0m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flavcyq9b1htuwn3klp0m.jpg" alt=" " width="794" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Features MaterialM  Shadcn Theme:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Built with React&lt;/strong&gt;  – Optimized performance,  &lt;strong&gt;SEO-friendly&lt;/strong&gt;, and supports server-side rendering.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Supercharged by ShadCN &amp;amp; Headless UI&lt;/strong&gt; – Ensures smooth and accessible UI interactions.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Flowbite React&lt;/strong&gt;  – Offers pre-built UI components for faster development.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Headless UI&lt;/strong&gt;  – Ensures smooth and accessible interactions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Perfect For:&lt;/strong&gt;  Developers looking for a clean and  &lt;strong&gt;fully functional&lt;/strong&gt;  e-commerce template with built-in pages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://materialm-react-tailwind-main.netlify.app/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;📥Download MaterialM&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Matdash React ShadCN Theme
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Matdash is a lightweight and fast e-commerce admin template made for Next.js &amp;amp; React projects.&lt;/strong&gt;  With its clean code structure and optimized performance, it’s perfect for modern online stores.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Choose Matdash React Shadcn Template?
&lt;/h3&gt;

&lt;p&gt;✅  &lt;strong&gt;Built for React projects&lt;/strong&gt;  with  &lt;strong&gt;ShadCN UI integration&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;All essential e-commerce components&lt;/strong&gt;  for a complete online store setup.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Pre-Built Components&lt;/strong&gt;  – All the necessary UI elements for an online store.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;API-Ready&lt;/strong&gt;  – Uses  &lt;strong&gt;SWR&lt;/strong&gt;  for real-time data fetching.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;React &amp;amp; Next.js Versions&lt;/strong&gt;  – Pick the one that fits your project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa5z1bxwuq4tk4g53ywe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa5z1bxwuq4tk4g53ywe.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Features Matdash React Shadcn Theme:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Built with React &amp;amp; TypeScript&lt;/strong&gt;  – Optimized performance,  &lt;strong&gt;SEO-friendly&lt;/strong&gt;, and supports server-side rendering.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;ShadCN UI &amp;amp; Headless UI&lt;/strong&gt;  – Smooth, accessible user experience.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Firebase &amp;amp; SWR integration&lt;/strong&gt;  – Backend-ready.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Tailwind CSS for&lt;/strong&gt; – Stylish, easy-to-use design.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Perfect For:&lt;/strong&gt;  Frontend developers who want a  &lt;strong&gt;ready-to-go React template&lt;/strong&gt;  with minimal setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://matdash-react-tailwind-main.netlify.app/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://adminmart.com/product/matdash-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;📥 Download Matdash React&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Matdash Next.js ShadCN Theme
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Matdash Next.js is a high-performance, developer-friendly e-commerce template built for Next.js.&lt;/strong&gt;  It comes with essential  &lt;a href="https://adminmart.com/" rel="noopener noreferrer"&gt;admin panel&lt;/a&gt;  components, making it a perfect choice for managing an online store efficiently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Choose Matdash NextJs Shadcn Template?
&lt;/h3&gt;

&lt;p&gt;✅  &lt;strong&gt;Optimized for Next.js&lt;/strong&gt;  – Great for SSR (Server-Side Rendering) &amp;amp; SEO.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Multipurpose Dashboard&lt;/strong&gt;  – Suitable for e-commerce &amp;amp; admin panels.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Comes in React &amp;amp; Next.js Versions&lt;/strong&gt;  – Choose what suits your needs best.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwtl1qymi3knfjpbapex0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwtl1qymi3knfjpbapex0.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Features Matdash NextJs Shadcn Theme:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Next.js v15.0.1 &amp;amp; TypeScript v5&lt;/strong&gt;  – High performance and scalability.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;ShadCN UI v0.9.4 &amp;amp; Headless UI v2.1.2&lt;/strong&gt;  – Easy UI customizations.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Tailwind Flowbite&lt;/strong&gt;  – A sleek and responsive design.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;NextAuth&lt;/strong&gt;  – Secure user authentication out of the box.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Perfect For:&lt;/strong&gt;  Developers looking for a  &lt;strong&gt;Next.js e-commerce template&lt;/strong&gt;  with a strong backend and admin dashboard support.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://matdash-nextjs-main.vercel.app/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://adminmart.com/product/matdash-next-js-admin-dashboard-template/" rel="noopener noreferrer"&gt;📥 Download Matdash Next.js&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Modernize ShadCN Theme
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Modernize is one of the most modern and stylish dashboard templates for e-commerce.&lt;/strong&gt;  It provides a sleek UI with both light and dark mode support, making it ideal for creating visually appealing admin panels.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Choose Modernize Shadcn Template?
&lt;/h3&gt;

&lt;p&gt;✅  &lt;strong&gt;Light &amp;amp; Dark mode support&lt;/strong&gt;  – Works for all user preferences.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;E-commerce Ready&lt;/strong&gt;  – Includes shop, product pages, checkout, and more.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Pre-built landing pages:&lt;/strong&gt;Blog, About us, Homepages.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Highly customizable&lt;/strong&gt;  – Ideal for developers looking for a flexible admin dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx5k9dyftpxncg83f0sef.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx5k9dyftpxncg83f0sef.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Features Modernize ShadCN Theme:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Next.js v14.2.4 &amp;amp; TypeScript v5&lt;/strong&gt;  – Future-proof technology.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;ShadCN UI v0.10.1 &amp;amp; Headless UI v2.1.2&lt;/strong&gt;  – Smooth and elegant design.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Flowbite React v10.12.4&lt;/strong&gt;  – UI components that blend seamlessly.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Firebase &amp;amp; NextAuth&lt;/strong&gt;  – Secure authentication and real-time data handling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Perfect For:&lt;/strong&gt;  Developers who want a  &lt;strong&gt;flexible and modern&lt;/strong&gt;  Next.js dashboard template with built-in e-commerce functionality.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://modernize-tailwind-nextjs-main.vercel.app/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-tailwind-nextjs-dashboard-template/" rel="noopener noreferrer"&gt;📥 Download Modernize&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Hiyori
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hiyori is an advanced e-commerce platform that integrates a custom Content Management System (CMS), aimed at delivering a superior online shopping experience.&lt;/strong&gt;  It leverages modern web technologies to provide a scalable and feature-rich e-commerce solution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Choose Hiyori Shadcn Template?
&lt;/h3&gt;

&lt;p&gt;✅  &lt;strong&gt;Advanced E-commerce Platform&lt;/strong&gt;  – Comes with a  &lt;strong&gt;built-in CMS&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Uses Next.js 14 &amp;amp; GraphQL&lt;/strong&gt;  – Perfect for complex projects.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Optimized for performance&lt;/strong&gt;  with modern development practices.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7lpscdcjpu7h2ckai9cc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7lpscdcjpu7h2ckai9cc.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Features Hiyori Shadcn Theme:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Next.js 14 &amp;amp; TypeScript&lt;/strong&gt;  – Cutting-edge frontend technology.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;GraphQL &amp;amp; Supabase&lt;/strong&gt;  – Powerful backend integration.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;ShadCN UI &amp;amp; Tailwind CSS&lt;/strong&gt;  – Sleek and modern design.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Drizzle ORM&lt;/strong&gt;  – Simplifies database management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Perfect For:&lt;/strong&gt;  Developers looking for a  &lt;strong&gt;highly customizable e-commerce solution&lt;/strong&gt;  with CMS capabilities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hiyori.hugo-coding.com/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://github.com/clonglam/HiyoRi-Ecommerce-Nextjs-Supabase" rel="noopener noreferrer"&gt;📥 Download Hiyori&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Shopco
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Shopco is an open-source project that converts Figma designs of e-commerce websites into fully responsive front-end applications.&lt;/strong&gt;  Built with modern web technologies, it’s perfect for developers looking for a scalable and maintainable e-commerce solution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Choose Shopco Shadcn Template?
&lt;/h3&gt;

&lt;p&gt;✅  &lt;strong&gt;Figma designs into a fully functional e-commerce store&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;SEO &amp;amp; Performance Optimized&lt;/strong&gt;  – Ranks better on search engines.&lt;br&gt;&lt;br&gt;
✅  &lt;strong&gt;Built for high performance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa9pnfjzezfz9wz8uore.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa9pnfjzezfz9wz8uore.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Features Shopco Shadcn Theme:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Next.js 14 &amp;amp; TypeScript&lt;/strong&gt;  – High-speed performance.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;ShadCN UI &amp;amp; Tailwind CSS&lt;/strong&gt;  – Beautifully designed UI.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Redux&lt;/strong&gt;  – Smooth state management.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Framer Motion&lt;/strong&gt;  – Elegant animations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Perfect For:&lt;/strong&gt;  Developers who want a  &lt;strong&gt;fast, responsive, and modern Next.js e-commerce template&lt;/strong&gt;  with Figma design conversion.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://next-ecommerce-shopco.vercel.app/" rel="noopener noreferrer"&gt;Live Preview&lt;/a&gt; | &lt;a href="https://github.com/mohammadoftadeh/next-ecommerce-shopco" rel="noopener noreferrer"&gt;📥Download Shopco&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts on ShadCN E-commerce Templates
&lt;/h2&gt;

&lt;p&gt;If you’re a  &lt;strong&gt;front-end developer&lt;/strong&gt;  looking for a  &lt;strong&gt;fast and efficient way to build an online store&lt;/strong&gt;, these  &lt;strong&gt;ShadCN e-commerce templates&lt;/strong&gt;  will save you tons of time. Whether you prefer  &lt;strong&gt;React or Next.js&lt;/strong&gt;, each of these templates offers  &lt;strong&gt;pre-built UI components, modern designs, and essential e-commerce features&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;These  &lt;strong&gt;ShadCN E-Commerce Templates&lt;/strong&gt;  offer everything you need to build a powerful online store. Whether you’re a beginner or an experienced developer, there’s a template that suits your needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Our Top Picks:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Best for Beginners:&lt;/strong&gt;  &lt;strong&gt;MaterialM ShadCN&lt;/strong&gt;  – Easy setup &amp;amp; full e-commerce pages.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Best for Advanced Developers:&lt;/strong&gt;  &lt;strong&gt;Hiyori&lt;/strong&gt;  – CMS integration &amp;amp; GraphQL.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Best for Speed &amp;amp; SEO:&lt;/strong&gt;  &lt;strong&gt;Matdash Next.js&lt;/strong&gt;  – Next.js-powered performance.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>ecommercetemplates</category>
      <category>nextjs</category>
      <category>templates</category>
    </item>
    <item>
      <title>Best Web Development Tools for Beginners</title>
      <dc:creator>Sunil Joshi</dc:creator>
      <pubDate>Thu, 20 Feb 2025 10:57:23 +0000</pubDate>
      <link>https://forem.com/adminmart/best-web-development-tools-for-beginners-5f2h</link>
      <guid>https://forem.com/adminmart/best-web-development-tools-for-beginners-5f2h</guid>
      <description>&lt;h1&gt;
  
  
  Best Web Development Tools for Beginners
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F923vejtigsbv0n8y2hxc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F923vejtigsbv0n8y2hxc.jpeg" width="720" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the today’s world of web development, staying ahead of the curve and increasing your productivity is crucial. Web development tools and techniques are constantly evolving, so it’s essential to keep up with the latest trends and technologies to streamline your workflow and create top-notch websites and web applications. In this blog, we’ll explore latest web development tools that will help web developers thrive in 2025.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;In this blog, we’ll embark on a journey through the realm of web development tools, where we’ll uncover the finest instruments that empower developers to create, innovate, and meet the ever-evolving demands of the digital landscape.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether you’re seeking a versatile code editor, a robust front-end framework, or powerful hosting solutions, our exploration of the best web development tools with the insights you need to elevate your web development prowess.&lt;/p&gt;

&lt;p&gt;So, without further ado, let’s dive into the world of web development tools that will shape the digital experiences of tomorrow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code Editors&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Visual Studio Code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sublime Text&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Atom&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;UI/UX Developer Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Figma&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sketch&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adobe XD&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;CSS Frameworks&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Bootstrap&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Material UI&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;JavaScript Frameworks&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;React&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vue.js&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Angular&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;APIs&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;REST APIs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;GraphQL&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Testing&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Jest&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mocha&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion On Web Development Tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to level up your web development game?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Code Editors
&lt;/h3&gt;

&lt;h3&gt;
  
  
  1. Visual Studio Code
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code (VS Code)&lt;/a&gt; is a free and open-source source code editor developed by Microsoft. It is designed for developers and programmers to write, edit, and manage their code. Visual Studio Code’s flexibility, extensive feature set, and active community support make it a popular choice for a wide range of programming tasks, from simple scripting to complex software development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zo1986lo64tvwyu7itw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zo1986lo64tvwyu7itw.jpg" width="720" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Visual Studio Code is a lightweight but powerful source code editor made by Microsoft for Windows, Linux and macOS.&lt;/li&gt;
&lt;li&gt;  It provides support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.&lt;/li&gt;
&lt;li&gt;  It has a rich and extensible ecosystem of extensions for various programming languages like JavaScript, TypeScript, Python, PHP, C++, C#, Java, Go, Ruby, and more.&lt;/li&gt;
&lt;li&gt;  VS Code has a very useful integrated terminal that allows you to run commands directly from the editor.&lt;/li&gt;
&lt;li&gt;  It provides rich functionalities like IntelliSense, code snippets, debugging, Git integration, syntax highlighting, and code refactoring.&lt;/li&gt;
&lt;li&gt;  The extensions provide additional features like prettier formatting, code linting, version control, and deployment to various hosting platforms.&lt;/li&gt;
&lt;li&gt;  VS Code has a clean and customizable interface which makes it very intuitive and easy to use.&lt;/li&gt;
&lt;li&gt;  It has great multi-platform support and works seamlessly across operating systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Sublime Text
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.sublimetext.com/" rel="noopener noreferrer"&gt;Sublime Text&lt;/a&gt; is a powerful and feature-rich text editor known for its speed, flexibility and customizability. Main highlights:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F54fgi31442np5hniw26i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F54fgi31442np5hniw26i.jpg" width="720" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Fast and responsive with support for large code bases&lt;/li&gt;
&lt;li&gt;  Available for Windows, macOS and Linux&lt;/li&gt;
&lt;li&gt;  Extensive plugin ecosystem for additional functionality and language support&lt;/li&gt;
&lt;li&gt;  Multiple cursors feature for efficient code editing • Command palette for quick access to commands&lt;/li&gt;
&lt;li&gt;  Minimap for code navigation&lt;/li&gt;
&lt;li&gt;  Customizable interface&lt;/li&gt;
&lt;li&gt;  Split view for working on multiple files&lt;/li&gt;
&lt;li&gt;  Advanced find and replace with regex • Version control integration • Auto completion and syntax highlighting&lt;/li&gt;
&lt;li&gt;  Theme support&lt;/li&gt;
&lt;li&gt;  Focused and minimalistic interface • Regular updates and enhancements • Active community and support&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Atom
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/atom/atom" rel="noopener noreferrer"&gt;Atom&lt;/a&gt; is an open-source, highly customizable text and source code editor developed by GitHub. It is designed to be user-friendly and versatile, catering to the needs of developers and programmers. Here are some key benefits of Atom:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk2er4o6gd7nxsafvhd07.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk2er4o6gd7nxsafvhd07.jpg" width="720" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Atom has a powerful plugin system that allows you to extend its functionality with thousands of available packages.&lt;/li&gt;
&lt;li&gt;  Some useful packages are Emmet (for writing HTML faster), Minimap (for code navigation), Linter (for syntax checking), Git Control (for Git integration), Autocomplete-paths (for file path autocomplete), etc.&lt;/li&gt;
&lt;li&gt;  Atom has a built-in package manager to easily install, manage and update packages.&lt;/li&gt;
&lt;li&gt;  It provides various views like Tree View (for file navigation), Command Palette (for accessing commands), and Console (for viewing logs).&lt;/li&gt;
&lt;li&gt;  Atom supports split editing to work on multiple files at the same time.&lt;/li&gt;
&lt;li&gt;  It has robust find and replace functionality with regex support.&lt;/li&gt;
&lt;li&gt;  Atom integrates with Git and Mercurial for version control.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  UI/UX Developer Tools
&lt;/h3&gt;

&lt;h3&gt;
  
  
  1. Figma
&lt;/h3&gt;

&lt;p&gt;Figma is a design and prototyping tool used by product teams and designers to create everything from webpages and mobile apps to icons, logos, and branding.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Figma is a cloud-based tool, meaning you can access your designs from any browser or device. There is no software to install.&lt;/li&gt;
&lt;li&gt;  It is a vector graphics editor, so designs are resolution independent and can be scaled to any size without losing quality.&lt;/li&gt;
&lt;li&gt;  Figma has both collaborative and individual editing modes. This allows multiple team members to work together in real time on the same file.&lt;/li&gt;
&lt;li&gt;  Figma has a robust library system that lets you store reusable components, symbols, colors, and more. This helps keep designs consistent and reduces redundancy.&lt;/li&gt;
&lt;li&gt;  Figma has built-in prototyping features that let you simulate the interactive experience of your design before developing any code.&lt;/li&gt;
&lt;li&gt;  It has a large ecosystem of community-made plugins and templates that extend its capabilities.&lt;/li&gt;
&lt;li&gt;  Figma offers both free and premium paid plans. The free plan provides enough features for individual use and small teams.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Framer
&lt;/h3&gt;

&lt;p&gt;Framer is a design and prototyping tool used for creating interactive UI elements, animations, and high-fidelity prototypes. It enables designers and developers to build responsive layouts, test interactions, and collaborate in real time, making it a powerful tool for modern web and mobile design.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Framer is a powerful design and prototyping tool that enables precise control over interactive components, animations, and transitions, making it ideal for creating fluid, dynamic designs.&lt;/li&gt;
&lt;li&gt;  Framer offers a web-based interface with an intuitive workflow, providing designers with tools for vector editing, prototyping, real-time collaboration, and advanced interaction design.&lt;/li&gt;
&lt;li&gt;  Framer’s cloud-based platform allows users to share designs, gather feedback, and collaborate seamlessly. Teams can inspect files, leave comments, and export assets directly from the browser.&lt;/li&gt;
&lt;li&gt;  Framer supports features like Smart Components, Auto Layout, Interactive States, and Code Overrides, which streamline the prototyping and development process.&lt;/li&gt;
&lt;li&gt;  Framer projects can be exported in various formats, including GIF, MP4, and code-based outputs, enabling easy sharing and developer handoff.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re looking to get started with Framer, check out our &lt;a href="https://www.wrappixel.com/templates/category/framer-templates/" rel="noopener noreferrer"&gt;Framer templates&lt;/a&gt; to kickstart your design journey effortlessly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5l6low3wi0y8ievudiu.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5l6low3wi0y8ievudiu.jpeg" width="720" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://endeavor-charity.framer.website/" rel="noopener noreferrer"&gt;Endeavor Framer template&lt;/a&gt; , you will be able to create your website without any hassle. Its high scalability, speedy development, and ease of use make it a best choice among framer templates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.wrappixel.com/templates/category/framer-templates/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://endeavor-charity.framer.website/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Adobe XD
&lt;/h3&gt;

&lt;p&gt;Adobe XD is a vector-based user experience design tool developed by Adobe. It allows designers and developers to create, share, and prototype user interfaces quickly and easily. Some of the main features of Adobe XD are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Adobe XD has built-in wireframing capabilities that allow you to create low-fidelity mockups of your designs.&lt;/li&gt;
&lt;li&gt;  You can prototype your designs to showcase interactive experiences. Adobe XD allows you to add transitions, scrolling, and interactions to your prototypes.&lt;/li&gt;
&lt;li&gt;  Adobe XD uses vector graphics which means your designs can be scaled to any size without losing quality.&lt;/li&gt;
&lt;li&gt;  Artboards allow you to create multiple page designs within the same file.&lt;/li&gt;
&lt;li&gt;  You can create reusable design elements called components to maintain consistency and reduce duplication.&lt;/li&gt;
&lt;li&gt;  Adobe XD syncs your designs across all your devices via Creative Cloud so you can work from anywhere.&lt;/li&gt;
&lt;li&gt;  You can easily share and gather feedback on your designs from teammates using Adobe XD.&lt;/li&gt;
&lt;li&gt;  There are many community-created plugins that extend the functionality of Adobe XD.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  CSS Frameworks
&lt;/h3&gt;

&lt;p&gt;CSS (Cascading Style Sheets) frameworks are pre-prepared libraries of CSS code and resources that help streamline and simplify the process of styling and designing web pages. They provide a collection of CSS classes, styles, and layout templates to assist web developers in creating consistent and visually appealing websites more efficiently. CSS frameworks are particularly useful for saving time and ensuring a standardized design across different web projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Bootstrap
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://getbootstrap.com/" rel="noopener noreferrer"&gt;Bootstrap&lt;/a&gt; is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation, and other interface components.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkh8sls42gylbdxl9637.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkh8sls42gylbdxl9637.png" width="700" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  It is one of the most popular CSS frameworks used for developing responsive and mobile-first websites.&lt;/li&gt;
&lt;li&gt;  Provides pre-built, reusable UI components and styles like buttons, forms, navigation bars, modals, etc.&lt;/li&gt;
&lt;li&gt;  It uses a responsive 12-column grid system that allows developers to create responsive and mobile-friendly layouts easily.&lt;/li&gt;
&lt;li&gt;  It uses CSS selectors, classes and JavaScript to style HTML elements.&lt;/li&gt;
&lt;li&gt;  Bootstrap has a built-in responsive design that adapts to different screen sizes like mobile, tablet and desktop.&lt;/li&gt;
&lt;li&gt;  Bootstrap has a large collection of themes that can be used to change the look and feel of the website.&lt;/li&gt;
&lt;li&gt;  Bootstrap significantly reduces development time by reusing components and styles.&lt;/li&gt;
&lt;li&gt;  Bootstrap is compatible with all major browsers like Chrome, Firefox, Safari, Edge and Internet Explorer.&lt;/li&gt;
&lt;li&gt;  Bootstrap websites are SEO friendly since it uses semantic HTML elements.&lt;/li&gt;
&lt;li&gt;  Bootstrap has a large community of developers creating themes, plugins and add-ons to extend its capabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsddusleyxg24agga7v0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsddusleyxg24agga7v0.jpg" width="714" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://adminmart.com/product/modernize-bootstrap-5-admin-template/#product-demo-section" rel="noopener noreferrer"&gt;Modernize Bootstrap admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in Bootstrap framework. It provides every convenience and flexibility that you can imagine, making it one of the best bootstrap admin templates available in the premium bootstrap category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adminmart.com/product/modernize-bootstrap-5-admin-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-bootstrap-5-admin-template/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Material UI
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://mui.com/" rel="noopener noreferrer"&gt;MUI&lt;/a&gt;, or Material-UI, is a popular open-source front-end framework for building web applications using React, a JavaScript library for building user interfaces. Material-UI is known for its implementation of Google’s Material Design guidelines, which provide a set of design principles and visual guidelines for creating consistent, user-friendly, and visually appealing web applications. Material-UI allows developers to easily create web applications that follow these design principles.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  It provides a set of high-quality, accessible UI components and tools to help build React applications.&lt;/li&gt;
&lt;li&gt;  It includes many material design components like buttons, cards, forms, inputs, navigation, selects, etc.&lt;/li&gt;
&lt;li&gt;  Material UI components are customizable, accessible, and follow responsive design principles.&lt;/li&gt;
&lt;li&gt;  Material UI uses React components which makes it easy to extend and customize.&lt;/li&gt;
&lt;li&gt;  It has a theming system that allows customizing the look and feel of all components.&lt;/li&gt;
&lt;li&gt;  Material UI includes several utility classes to control the spacing, display, typography and positioning of elements.&lt;/li&gt;
&lt;li&gt;  Material UI follows proper accessibility guidelines and WCAG principles.&lt;/li&gt;
&lt;li&gt;  It supports server-side rendering which is useful for SEO.&lt;/li&gt;
&lt;li&gt;  Material UI has good documentation and a large community of developers.&lt;/li&gt;
&lt;li&gt;  Material UI components work well with React Hooks and React Context API.&lt;/li&gt;
&lt;li&gt;  Updates and new features are released regularly to keep Material UI up to date.&lt;/li&gt;
&lt;li&gt;  Material UI helps create visually appealing and consistent user interfaces based on Google’s Material Design.&lt;/li&gt;
&lt;li&gt;  It speeds up the development process by reusing pre-built, accessible and responsive components.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re looking to get started with &lt;a href="https://www.wrappixel.com/templates/category/react-templates/" rel="noopener noreferrer"&gt;MUI templates&lt;/a&gt;, check out this template to kickstart your development journey effortlessly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fomul50hsbiir86n4yih5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fomul50hsbiir86n4yih5.jpg" width="564" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Modernize MUI admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in React framework. It provides every convenience and flexibility that you can imagine, making it one of the best React admin templates available in the premium React MUI category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyoykzlvi5cfhgnpbylkv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyoykzlvi5cfhgnpbylkv.jpg" width="720" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://www.wrappixel.com/templates/flexy-react-admin-template/#demos" rel="noopener noreferrer"&gt;Flexy MUI admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in React framework. It provides every convenience and flexibility that you can imagine, making it one of the best React admin templates available in the premium React MUI category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.wrappixel.com/templates/flexy-react-material-dashboard-admin/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/flexy-react-material-dashboard-admin/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript Frameworks
&lt;/h3&gt;

&lt;p&gt;Admin panels are the unsung heroes of any web application. They provide the control center for administrators, allowing them to manage users, content, and functionalities. But crafting efficient and feature-rich admin panels can be time-consuming. This is where JavaScript frameworks come in!&lt;/p&gt;

&lt;h3&gt;
  
  
  1. React
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://react.dev/" rel="noopener noreferrer"&gt;React&lt;/a&gt; is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.&lt;/p&gt;

&lt;p&gt;It uses virtual DOM instead of the real DOM which improves the performance of the application. The virtual DOM is a concept where DOM manipulations are made separately and then compared to the real DOM to render the necessary changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  React uses a component-based approach which makes the UI modular, reusable and easier to manage.&lt;/li&gt;
&lt;li&gt;  React utilizes a virtual DOM instead of the real DOM which makes it fast and efficient. The real DOM is updated only when there are actual changes.&lt;/li&gt;
&lt;li&gt;  JSX allows writing HTML directly in JavaScript which makes the code cleaner and easier to write and read.&lt;/li&gt;
&lt;li&gt;  Data in React flows in a single direction (parent to child) which makes the app predictable and easier to debug.&lt;/li&gt;
&lt;li&gt;  React lets you create reusable UI components that receive data and render views.&lt;/li&gt;
&lt;li&gt;  It uses a declarative paradigm that makes the code more predictable and easier to debug.&lt;/li&gt;
&lt;li&gt;  It supports server-side rendering which makes the app SEO-friendly.&lt;/li&gt;
&lt;li&gt;  React can be easily integrated with other libraries and frameworks like Angular, Vue, etc.&lt;/li&gt;
&lt;li&gt;  It has a large ecosystem of tools and libraries that extend its capabilities.&lt;/li&gt;
&lt;li&gt;  Since React uses a virtual DOM, updates to UI are fast and efficient.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re looking to get started with &lt;a href="https://www.wrappixel.com/templates/category/react-templates/" rel="noopener noreferrer"&gt;React templates&lt;/a&gt;, check out this template to kickstart your development journey effortlessly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5c45h3owkh2y3ze1f63w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5c45h3owkh2y3ze1f63w.jpg" width="564" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Modernize React admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in React framework. It provides every convenience and flexibility that you can imagine, making it one of the best React admin templates available in the premium React category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ytx81u5wy40tvzs6wq7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ytx81u5wy40tvzs6wq7.jpg" width="720" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;MaterialM React admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in React tailwind framework. It provides every convenience and flexibility that you can imagine, making it one of the best React admin templates available in the premium React tailwind category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/materialm-tailwind-react-admin-template/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Vue.js
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://vuejs.org/" rel="noopener noreferrer"&gt;Vue.js&lt;/a&gt; is a progressive JavaScript framework for building user interfaces. It focuses on making the view layer as simple and flexible as possible.&lt;/p&gt;

&lt;p&gt;Vue apps are written in plain JavaScript or TypeScript and use a HTML-based template syntax for the view layer. The core of Vue is a system that reactively updates the UI when data changes.&lt;/p&gt;

&lt;p&gt;Compared to frameworks like Angular and React, Vue has a simpler API and is easier to learn. However, it only handles the view layer and relies on other libraries for routing, state management, etc. This makes Vue easy to integrate with other libraries and frameworks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Vue is a progressive JavaScript framework for building user interfaces.&lt;/li&gt;
&lt;li&gt;  It focuses on the view layer and is easy to pick up and integrate with other libraries/frameworks.&lt;/li&gt;
&lt;li&gt;  Vue apps are written in plain JavaScript or TypeScript and use a template syntax for the view layer.&lt;/li&gt;
&lt;li&gt;  The core of Vue is a system that reactive updates the UI when data changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re looking to get started with &lt;a href="https://www.wrappixel.com/templates/category/vuejs-templates/" rel="noopener noreferrer"&gt;Vuejs templates&lt;/a&gt;, check out this template to kickstart your development journey effortlessly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmewspm00g4t4ezaemik.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmewspm00g4t4ezaemik.jpg" width="720" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://www.wrappixel.com/templates/spike-vuejs-admin-dashboard/" rel="noopener noreferrer"&gt;Spike vuejs admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in vuejs framework. It provides every convenience and flexibility that you can imagine, making it one of the best vuejs admin templates available in the premium vuejs category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.wrappixel.com/templates/spike-vuejs-admin-dashboard/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/spike-vuejs-admin-dashboard/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcjugo2jqsau6k9rvx2b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcjugo2jqsau6k9rvx2b.png" width="564" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://adminmart.com/product/modernize-vuetify-vue-admin-dashboard/?ref=4" rel="noopener noreferrer"&gt;Modernize vuejs admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in vuejs framework. It provides every convenience and flexibility that you can imagine, making it one of the best vuejs admin templates available in the premium vuejs category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adminmart.com/product/modernize-vuetify-vue-admin-dashboard/?ref=4" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-vuetify-vue-admin-dashboard/?ref=4" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Angular
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://angular.io/" rel="noopener noreferrer"&gt;Angular&lt;/a&gt; is a complete JavaScript framework for building client and server applications. It takes a more opinionated approach and aims to solve more problems out of the box.&lt;/p&gt;

&lt;p&gt;Angular apps are written in TypeScript and use a component-based architecture. Components define the UI using HTML-like templates and handle data binding and application logic.&lt;/p&gt;

&lt;p&gt;Angular provides built-in services for state management, routing, internationalization and testing. It also has tools for bundling, minifying and optimizing Angular apps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Angular is a complete JavaScript framework for building client and server applications.&lt;/li&gt;
&lt;li&gt;  It is more complex and opinionated compared to Vue.&lt;/li&gt;
&lt;li&gt;  Angular apps are written in TypeScript and use a component-based architecture.&lt;/li&gt;
&lt;li&gt;  Components define the UI using HTML-like templates and handle data binding and application logic.&lt;/li&gt;
&lt;li&gt;  Angular provides a framework for state management, routing, testing, internationalization, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re looking to get started with &lt;a href="https://www.wrappixel.com/templates/category/angular-templates/" rel="noopener noreferrer"&gt;Angular templates&lt;/a&gt;, check out this template to kickstart your development journey effortlessly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpzzupajrfw761i10we8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpzzupajrfw761i10we8.jpg" width="720" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://www.wrappixel.com/templates/spike-angular-admin-template/" rel="noopener noreferrer"&gt;Spike angular admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in angularjs framework. It provides every convenience and flexibility that you can imagine, making it one of the best angularjs admin templates available in the premium angularjs category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.wrappixel.com/templates/spike-angular-admin-template/" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://www.wrappixel.com/templates/spike-angular-admin-template/" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsu2mekb205o0nuen60p8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsu2mekb205o0nuen60p8.jpg" width="564" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://adminmart.com/product/modernize-angular-material-dashboard/?ref=4" rel="noopener noreferrer"&gt;Modernize angular admin template&lt;/a&gt; , you will be able to create your website or web application without any hassle. Its high scalability, speedy development, and ease of use make it a best choice in angularjs framework. It provides every convenience and flexibility that you can imagine, making it one of the best angularjs admin templates available in the premium angularjs category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adminmart.com/product/modernize-angular-material-dashboard/?ref=4" rel="noopener noreferrer"&gt;Download Now&lt;/a&gt; | &lt;a href="https://adminmart.com/product/modernize-angular-material-dashboard/?ref=4" rel="noopener noreferrer"&gt;Live demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  APIs
&lt;/h3&gt;

&lt;h3&gt;
  
  
  REST APIs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.ibm.com/topics/rest-apis" rel="noopener noreferrer"&gt;REST&lt;/a&gt; stands for REpresentational State Transfer. REST APIs are web APIs that follow the REST architectural constraints. They use HTTP methods (GET, POST, PUT, DELETE etc.) to perform CRUD (Create, Read, Update, Delete) operations on data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Simplifies communication between applications.&lt;/li&gt;
&lt;li&gt;  Language-agnostic and platform-independent.&lt;/li&gt;
&lt;li&gt;  Stateless, making it scalable.&lt;/li&gt;
&lt;li&gt;  Promotes loose coupling.&lt;/li&gt;
&lt;li&gt;  Supports multiple data formats, including JSON and XML.&lt;/li&gt;
&lt;li&gt;  Easy to cache for improved performance.&lt;/li&gt;
&lt;li&gt;  Well-suited for the web and mobile app development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F74ats7jfe3jgje8mc07p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F74ats7jfe3jgje8mc07p.png" width="720" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GraphQL
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://graphql.org/" rel="noopener noreferrer"&gt;GraphQL&lt;/a&gt; is a query language for APIs, created by Facebook. It focuses on providing clients with exactly what they need, and nothing more.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Clients specify exactly what data they want in a single request, using a type system and query language.&lt;/li&gt;
&lt;li&gt;  The server provides the requested data in a standardized JSON response.&lt;/li&gt;
&lt;li&gt;  It avoids over- and under-fetching of data, since clients specify exactly what data they need.&lt;/li&gt;
&lt;li&gt;  Data requirements can evolve independently of the API schema.&lt;/li&gt;
&lt;li&gt;  It supports both querying and mutating data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Testing
&lt;/h3&gt;

&lt;h3&gt;
  
  
  1. Jest
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://jestjs.io/" rel="noopener noreferrer"&gt;Jest&lt;/a&gt; is a popular JavaScript testing framework developed by Facebook. It is commonly used for testing JavaScript applications, including front-end and back-end code, as well as Node.js applications. Jest is designed to make testing JavaScript code more accessible and efficient.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Easy to set up and use&lt;/li&gt;
&lt;li&gt;  Fast and parallel tests&lt;/li&gt;
&lt;li&gt;  Extensive coverage reports&lt;/li&gt;
&lt;li&gt;  Mocking library&lt;/li&gt;
&lt;li&gt;  Snapshot testing&lt;/li&gt;
&lt;li&gt;  Integration with most tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkg53u6dja9uzwoc3pbyk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkg53u6dja9uzwoc3pbyk.jpg" width="720" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mocha
&lt;/h3&gt;

&lt;p&gt;Mocha is another popular JavaScript testing framework, like Jest, used for testing JavaScript applications, both on the front-end and back-end. It is known for its flexibility and wide adoption in the JavaScript testing community. Mocha provides a test runner and a simple, versatile interface for writing and organizing tests.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Flexible syntax&lt;/li&gt;
&lt;li&gt;  Asynchronous support&lt;/li&gt;
&lt;li&gt;  Extensive reporters&lt;/li&gt;
&lt;li&gt;  Modular architecture&lt;/li&gt;
&lt;li&gt;  Integration with other tools&lt;/li&gt;
&lt;li&gt;  Rich ecosystem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7t3ue8t122gvcd0qybu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7t3ue8t122gvcd0qybu.jpg" width="720" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Discovering web development tools can greatly boost your efficiency and creativity when building your online presence. Whether you’re a seasoned pro or just starting out, these tools offer immense potential. By using code editors to streamline your work, leveraging CSS and JavaScript frameworks for great looks and functionality, accessing APIs for smooth integrations, and employing strong testing suites for flawless performance, your website can reach new heights. View these tools not just as aids, but as drivers to bring your digital vision to life. They’re your allies in creating a website that not only exists but excels. With these tools, the journey of web development becomes not only easier but also more rewarding. Jump in, explore, and witness their incredible potential for your website’s success.&lt;/p&gt;

&lt;p&gt;They’re packed with inspiration and resources to help you create amazing websites.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>developer</category>
      <category>websitedevelopment</category>
      <category>webtools</category>
    </item>
    <item>
      <title>How to Optimize Website for SEO Results to Improve Rankings 🎯</title>
      <dc:creator>Sanjay Joshi</dc:creator>
      <pubDate>Mon, 28 Oct 2024 16:28:54 +0000</pubDate>
      <link>https://forem.com/adminmart/how-to-optimize-website-for-seo-results-to-improve-rankings-ejj</link>
      <guid>https://forem.com/adminmart/how-to-optimize-website-for-seo-results-to-improve-rankings-ejj</guid>
      <description>&lt;p&gt;In today’s digital age, the speed 🚀 at which your website loads 💻 can make or break your online presence. Slow-loading websites not only frustrate users but also negatively impact search engine rankings, which can ultimately harm your business. That's where website speed optimization comes into play.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Need for Speed: Why Website Speed Optimization Matters for SEO?
&lt;/h3&gt;

&lt;p&gt;When a visitor clicks on your website, they expect it to load quickly. Slow websites can lead to high bounce rates, meaning potential customers leave before even seeing your content or products. Studies have shown that users are likely to abandon a page if it takes more than 3 seconds to load.&lt;/p&gt;

&lt;p&gt;Google, the world's most popular search engine, considers website speed a crucial ranking factor. Google Page Speed Insights is a valuable tool that helps you analyze your website's performance and provides recommendations for improvement. It grades your site on both mobile and desktop platforms, highlighting areas that need attention.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Path to Effective Site Optimization
&lt;/h3&gt;

&lt;p&gt;Website speed optimization isn't a one-time task but an ongoing process. Let's discuss how site optimization ties into the broader goal of enhancing user experience and SEO.&lt;/p&gt;

&lt;p&gt;A fast-loading website contributes to an improved user experience. Visitors are more likely to stay engaged and convert into customers if they have a seamless browsing experience. Invest in responsive design, intuitive navigation, and mobile optimization to complement your speed efforts.&lt;/p&gt;

&lt;p&gt;Mobile users make up a significant portion of web traffic. Ensure your site is mobile-friendly and loads quickly on smartphones and tablets. Google ranks mobile-friendly sites higher in mobile search results.&lt;/p&gt;

&lt;p&gt;As mentioned earlier, Google rewards fast-loading websites with higher search rankings. By investing in website speed optimization, you're not only enhancing the user experience but also increasing your chances of ranking higher in Search Engine Results Pages (SERPs).&lt;/p&gt;

&lt;h2&gt;
  
  
  Website Speed Optimization Techniques
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Now that we understand the importance of website speed, let's explore some effective techniques for optimizing your site's performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  The Need for Speed: Why Website Speed Optimization Matters for SEO?
&lt;/li&gt;
&lt;li&gt;  The Path to Effective Site Optimization
&lt;/li&gt;
&lt;li&gt;  1. Choose the Right Hosting Provider
&lt;/li&gt;
&lt;li&gt;  2. Enable Browser Caching
&lt;/li&gt;
&lt;li&gt;  3. Optimize Images
&lt;/li&gt;
&lt;li&gt;  4. Minimize HTTP Requests
&lt;/li&gt;
&lt;li&gt;  5. Implement GZIP Compression
&lt;/li&gt;
&lt;li&gt;  6. Leverage Content Delivery Networks (CDNs)
&lt;/li&gt;
&lt;li&gt;  7. Prioritize Above-the-Fold Content
&lt;/li&gt;
&lt;li&gt;  8. Enable Lazy Loading
&lt;/li&gt;
&lt;li&gt;  9. Minify CSS and JavaScript
&lt;/li&gt;
&lt;li&gt;  10. Optimize Server-Side Performance
&lt;/li&gt;
&lt;li&gt;  11. Prioritize Critical Rendering Path
&lt;/li&gt;
&lt;li&gt;  12. Use Asynchronous Loading for JavaScript
&lt;/li&gt;
&lt;li&gt;  13. Regularly Monitor and Test
&lt;/li&gt;
&lt;li&gt;  Faster Load Times, Higher Conversions
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. Choose the Right Hosting Provider
&lt;/h3&gt;

&lt;p&gt;Your hosting provider is the backbone of your website's performance. Opt for a reliable and well-established hosting company that offers robust infrastructure and scalable resources. Shared hosting may be cost-effective but can lead to slower loading times as resources are shared among multiple websites.&lt;/p&gt;

&lt;p&gt;When selecting a hosting plan, consider your website's requirements. Small blogs may do well with shared hosting, while larger e-commerce sites may benefit from VPS or dedicated hosting for better speed and resource allocation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem6jrikofg7dup0no32j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem6jrikofg7dup0no32j.jpg" alt="Choose the Right Hosting Provider Blog img" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Enable Browser Caching
&lt;/h3&gt;

&lt;p&gt;Browser caching allows frequently accessed resources like images, CSS, and JavaScript files to be stored locally on a user's device. This means that on subsequent visits, these resources are loaded from the cache, reducing server requests and speeding up load times. Configure your server to send appropriate caching headers and specify how long assets should be cached.&lt;/p&gt;

&lt;p&gt;Enabling browser caching helps lessen the server's workload. When a website attracts a lot of visitors, it can strain the server with multiple file requests. With browser caching, the server only has to send these files once, and later requests can be handled by the user's browser cache. This eases the server's burden and enables it to manage more users at the same time without any performance lag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xsy42mhgk4kcdp0rdyz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xsy42mhgk4kcdp0rdyz.png" alt="Enable Browser Caching Blog img" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Optimize Images
&lt;/h3&gt;

&lt;p&gt;Optimizing images is a crucial step in improving website performance. Images are one of the main contributors to page weight and can significantly slow down website load times. By optimizing images, website owners can reduce file sizes and improve overall performance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcm61yy3pofefkzpmcnmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcm61yy3pofefkzpmcnmd.png" alt="Optimize Images Blog img" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some reasons to optimize images are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Faster page loads&lt;/strong&gt; - Reducing image file sizes means less data to download. This results in noticeably faster website loading speed, especially on mobile networks.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Lower bandwidth usage&lt;/strong&gt; - Smaller images use less bandwidth to serve, reducing strain on the server and network. This becomes crucial at scale.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Lower hosting costs&lt;/strong&gt; - If images make up a large portion of your server storage, optimizing them can significantly reduce hosting storage costs.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Better for SEO&lt;/strong&gt; - Google's algorithms consider page speed as one of the ranking factors. Faster page loads can improve your SEO and rankings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Minimize HTTP Requests
&lt;/h3&gt;

&lt;p&gt;Every time a web page makes an HTTP request to fetch an external resource - like an image, script, style sheet, or font - there is overhead involved. The browser has to make a TCP connection to the server, send the request, wait for the response, download the resource, parse it and execute it.&lt;/p&gt;

&lt;p&gt;The impact on performance can be significant. Each saved HTTP request saves hundreds of milliseconds, and reducing requests by just 10 can improve load speeds by over half a second. Pages with many external resources, over 30 or so, are likely overusing third party scripts and suffering from performance issues.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzi1e88vap1opap79160.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzi1e88vap1opap79160.png" alt="Blog img Implement GZIP Compression How to Optimize Website for SEO Results to Improve Rankings&amp;lt;br&amp;gt;
" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By minimizing HTTP requests through techniques like file combining, sprites, async scripts and lazy loading, pages can load faster, consume less bandwidth, put less strain on servers and potentially improve SEO rankings. It is one of the most effective and straightforward performance optimizations for any website.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Implement GZIP Compression
&lt;/h3&gt;

&lt;p&gt;GZIP compression is an effective technique to significantly improve website performance. It works by reducing the size of text-based assets like HTML, CSS, JavaScript and XML files before sending them to the browser. This is done by using an algorithm to remove redundant data and encode the text in a more efficient format.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkbym9i5z8mjs467s3i1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkbym9i5z8mjs467s3i1.png" alt="Blog Img Implement GZIP Compression" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since compressed files are smaller, they take less time to download. This leads to noticeably faster page load speeds, especially on slow networks. Studies have shown that GZIP compression can improve page load times by 20% to 50%. The gains are even higher on mobile networks.&lt;/p&gt;
&lt;h3&gt;
  
  
  6. Leverage Content Delivery Networks (CDNs)
&lt;/h3&gt;

&lt;p&gt;A content delivery network, or CDN, is a geographically distributed network of servers that help deliver content faster and more reliably to users. The main benefit of a CDN is that it brings content physically closer to users, resulting in faster load times. A CDN works by caching static assets - like images, CSS, JavaScript, and HTML files - on edge servers located in multiple regions.&lt;/p&gt;

&lt;p&gt;When a user requests something from your website, the request is automatically routed to the closest edge server on the CDN network. Since this edge server is physically closer to the user, the asset can be delivered much faster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb75hxtm5hgvh2u05ju92.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb75hxtm5hgvh2u05ju92.png" alt="Optimize Images Blog How to Optimize Website for SEO Results to Improve Rankings" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This reduces latency and improves website loading speed, especially for users in distant locations. For example, a user in Europe will fetch assets from an edge server in Europe rather than from your origin server in the US. A properly configured CDN can reduce latency by 200-300ms or more, which significantly impacts performance.&lt;/p&gt;
&lt;h3&gt;
  
  
  7. Prioritize Above-the-Fold Content
&lt;/h3&gt;

&lt;p&gt;The content above the fold is what a user sees first when a page loads. It gives them their first impression of the page and website. Slow loading or incomplete above-the-fold content gives users a poor first impression and increases bounce rates.&lt;/p&gt;

&lt;p&gt;Users come to a webpage expecting to find valuable information quickly. If the above-the-fold content doesn't deliver value immediately after loading, users will likely leave the page. They have little tolerance for slow websites. If above-the-fold content doesn't load quickly, users will often abandon the page within a few seconds. This is why prioritizing this content is critical.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j6afuwjvqvqdqfv8jrx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j6afuwjvqvqdqfv8jrx.png" alt="Tips for Optimizing Website Loading Speed Prioritize Above-the-Fold Content" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  8. Enable Lazy Loading
&lt;/h3&gt;

&lt;p&gt;Lazy loading delays the loading of components that are not immediately visible to the user. This includes things like images, videos, scripts and stylesheets.&lt;/p&gt;

&lt;p&gt;Instead of loading all images on page load, lazy loading only loads images that are within the user's viewport initially. Images outside the viewport are only loaded when the user scrolls to that part of the page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  By deferring the loading of non-critical resources, the initial payload size of the page is reduced. This leads to a faster first paint and time to interact.&lt;/li&gt;
&lt;li&gt;  Since only the above-the-fold content is loaded initially, there are fewer initial requests to the server. This reduces server load and improves scalability.&lt;/li&gt;
&lt;li&gt;  Deferring loading of non-critical resources means less bandwidth is used upfront for initial page load.&lt;/li&gt;
&lt;li&gt;  Lazy loading images can reduce the initial number of HTTP requests by 50-90%. This results in a much faster time to the first byte and first paint.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  9. Minify CSS and JavaScript
&lt;/h3&gt;

&lt;p&gt;Minifying CSS and JavaScript refers to the process of removing unnecessary characters from files to reduce their size, without affecting their functionality. It is a useful technique to improve website performance.&lt;/p&gt;

&lt;p&gt;When a browser loads a webpage, it has to download all the CSS and JavaScript files linked to that page. The larger the size of these files, the longer it takes for the browser to download and parse them.&lt;/p&gt;

&lt;p&gt;Minifying CSS and JavaScript helps reduce the file size by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Removing whitespace - This includes line breaks, tabs and extra spaces.&lt;/li&gt;
&lt;li&gt;  Shortening variable names - Long variable names are replaced with short, single-letter variables.&lt;/li&gt;
&lt;li&gt;  Removing comments - All comments are removed from the code.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is unminified CSS:&lt;/p&gt;

&lt;p&gt;Code as below for example&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;p {
    margin: 10px; 
}

h1 {
    color: green;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Becomes this after minification:&lt;/p&gt;

&lt;p&gt;Code as below for example&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The benefits of minifying CSS and JS files are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Faster page loads - Smaller file sizes mean faster download times, leading to faster page loads.&lt;/li&gt;
&lt;li&gt;  Lower bandwidth usage - Minified files use less bandwidth, saving on data costs.&lt;/li&gt;
&lt;li&gt;  Better cache performance - Minified files stay in the browser cache longer since they are smaller in size. This leads to faster subsequent page loads.&lt;/li&gt;
&lt;li&gt;  SEO benefits - Google gives a slight boost in ranking to pages with minified CSS and JS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10. Optimize Server-Side Performance
&lt;/h3&gt;

&lt;p&gt;Server-side optimization involves making improvements to your web server and backend code to reduce server response times. Key strategies include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Implement server-side caching to store frequently requested data and reduce database queries.&lt;/li&gt;
&lt;li&gt;  Optimize database queries, indexes, and table structures to improve efficiency.&lt;/li&gt;
&lt;li&gt;  Ensure that your server-side code is written efficiently and does not have performance bottlenecks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  11. Prioritize Critical Rendering Path
&lt;/h3&gt;

&lt;p&gt;The critical rendering path refers to the sequence of steps the browser takes to render a web page. Optimizing this path is crucial for faster loading times. Here's how you can prioritize the critical rendering path:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Identify and minimize CSS and JavaScript files that block the rendering of the page. You can achieve this by using techniques like asynchronous loading or deferring non-essential scripts.&lt;/li&gt;
&lt;li&gt;  Ensure that your server responds quickly to requests. This includes optimizing database queries, using server-side caching, and leveraging content delivery networks (CDNs) to reduce server latency.&lt;/li&gt;
&lt;li&gt;  Use techniques like GZIP compression and image optimization to reduce the size of files sent to the browser.&lt;/li&gt;
&lt;li&gt;  Defer the loading of non-critical images and below-the-fold content to speed up initial page rendering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  12. Use Asynchronous Loading for JavaScript
&lt;/h3&gt;

&lt;p&gt;JavaScript plays a vital role in enhancing website functionality, but it can also block the rendering of your web page if not loaded efficiently. To speed up your website, consider asynchronous loading for non-essential JavaScript resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Add the &lt;code&gt;async&lt;/code&gt; attribute to your script tags to allow JavaScript files to load asynchronously while not blocking other page elements.&lt;/li&gt;
&lt;li&gt;  Place non-essential JavaScript files just before the closing &lt;code&gt;&amp;lt;/body&amp;gt;&lt;/code&gt; tag to ensure that critical content is loaded first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  13. Regularly Monitor and Test
&lt;/h3&gt;

&lt;p&gt;Website page speed optimization is an ongoing process. To ensure that your website maintains fast loading speeds over time, it's crucial to adopt a proactive approach.&lt;/p&gt;

&lt;p&gt;Here's a detailed breakdown of this tip:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Regularly monitor performance:&lt;/strong&gt; Using tools like &lt;a href="https://pagespeed.web.dev/" rel="noopener noreferrer"&gt;Google PageSpeed Insights&lt;/a&gt;, &lt;a href="https://gtmetrix.com/" rel="noopener noreferrer"&gt;GTmetrix&lt;/a&gt;, &lt;a href="https://www.pingdom.com/" rel="noopener noreferrer"&gt;Pingdom&lt;/a&gt;, or web browser developer tools, continuously assess your website's performance. These website speed optimization tools can provide insights into various aspects of your site's loading speed, such as resource loading times, page rendering, and overall user experience.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Conduct performance tests:&lt;/strong&gt; Periodically conduct comprehensive performance tests on your website. These tests should be scheduled at regular intervals, such as monthly or quarterly, and should include various scenarios and user conditions. Testing allows you to identify and address any new bottlenecks or issues that may arise due to content updates, changes in user traffic, or alterations in your website's architecture. By catching these issues early, you can prevent them from negatively impacting the user experience.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Stay up-to-date:&lt;/strong&gt; The field of web development is continually evolving, with new technologies and best practices emerging regularly. To stay competitive and maintain fast loading speeds, keep abreast of the latest trends and developments in web performance optimization.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In conclusion, optimizing your website's loading speed is crucial for delivering an excellent user experience, improving search engine rankings and ultimately achieving your online goals. It also increases website speed. By following these 13 tips and staying committed to ongoing performance monitoring and optimization, you can ensure that your website loads quickly and efficiently for your audience, leading to higher engagement and better conversion rates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Optimize Your Website Today
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1sfwlaibb4j5ea6h8ch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1sfwlaibb4j5ea6h8ch.png" alt="Download-Free-Web-Templates-Now-Promo-image" width="776" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Faster Load Times, Higher Conversions
&lt;/h3&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://adminmart.com/templates/free-templates/" rel="noopener noreferrer"&gt;Download Free Web Templates Now&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
      <category>website</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Level Up Your Web App with Stunning React Charts: Introducing the Top 10 React Charts Libraries</title>
      <dc:creator>Jatin Sharma </dc:creator>
      <pubDate>Mon, 31 Jul 2023 15:52:53 +0000</pubDate>
      <link>https://forem.com/adminmart/level-up-your-web-app-with-stunning-react-charts-introducing-the-top-10-react-charts-libraries-22p3</link>
      <guid>https://forem.com/adminmart/level-up-your-web-app-with-stunning-react-charts-introducing-the-top-10-react-charts-libraries-22p3</guid>
      <description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Data_and_information_visualization" rel="noopener noreferrer"&gt;Data Visualization&lt;/a&gt; is an important technique for web applications whether you are building a dashboard, analytics tools or any application that works on data (data-driven application) because it helps us to present the data in a way which is understandable and visually appealing. Developers often look for powerful chart libraries that simplify the process of creating stunning visualizations without much effort.&lt;/p&gt;

&lt;p&gt;In this article, our primary focus will be React charts and it’s powerful libraries available to enhance your data visualization capabilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;



&lt;ul&gt;
&lt;li&gt;What are React Libraries?&lt;/li&gt;
&lt;li&gt;Why we need React Chart Libraries?&lt;/li&gt;
&lt;li&gt;ApexCharts&lt;/li&gt;
&lt;li&gt;Recharts&lt;/li&gt;
&lt;li&gt;React-Chartjs-2&lt;/li&gt;
&lt;li&gt;Victory&lt;/li&gt;
&lt;li&gt;React-vis&lt;/li&gt;
&lt;li&gt;React Google Charts&lt;/li&gt;
&lt;li&gt;React Stockcharts&lt;/li&gt;
&lt;li&gt;Nivo&lt;/li&gt;
&lt;li&gt;React FusionCharts&lt;/li&gt;
&lt;li&gt;Visx&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are React Libraries?
&lt;/h2&gt;

&lt;p&gt;React libraries are collections of pre-built components, functions, and tools designed to simplify and enhance the development process in React applications. React itself is a popular JavaScript library used for building user interfaces, but it provides only the core functionalities for managing the UI and state. React libraries, on the other hand, extend React’s capabilities by offering ready-to-use solutions for common tasks and challenges faced during web development.&lt;/p&gt;

&lt;p&gt;These React Components libraries are created by developers and organizations to address specific needs, improve code reusability, and boost productivity. They follow the “don’t reinvent the wheel” philosophy, allowing developers to focus on building the unique aspects of their applications without wasting time on repetitive tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pre-designed and pre-built UI components for easy integration.&lt;/li&gt;
&lt;li&gt;Promotes code reusability and consistency in design.&lt;/li&gt;
&lt;li&gt;Customizable components to match the application’s branding and design.&lt;/li&gt;
&lt;li&gt;Responsive design capabilities for various screen sizes and devices.&lt;/li&gt;
&lt;li&gt;Accessibility-focused, following accessibility guidelines.&lt;/li&gt;
&lt;li&gt;Performance optimization for efficient rendering.&lt;/li&gt;
&lt;li&gt;Large and active community support for documentation and issue resolution.&lt;/li&gt;
&lt;li&gt;Reduces the chances of UI bugs and inconsistencies with well-tested and proven components.&lt;/li&gt;
&lt;li&gt;Supports theming and styling options for seamless integration with different design systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why we need React Chart Libraries?
&lt;/h2&gt;

&lt;p&gt;Now you might wonder why do we need chart libraries? Let’s imagine you have lots of data, such as numbers or statistics, which could be related to anything like your product sales or user data. Now, you want to showcase that data to someone. Yes, you can send those tables and long lists, which can be boring, if I am being honest. Nobody has the time to look through your Excel sheet. So, the best way is to convert this data into beautiful charts because they are easy to read and pleasant to the eyes.&lt;/p&gt;

&lt;p&gt;That’s where these React Chart libraries come into play, they make it easier for developers to create these charts without starting from scratch. These libraries contain various types of charts such as Bar chart, Line chart, Pie chart, Area chart, Scatter plot, Bubble chart, Radar chart, Histogram, Box plot and many more. You just have to customize these according to your project’s needs. This saves a lot of time and effort for developers who may not have specialized knowledge in designing charts.&lt;/p&gt;

&lt;p&gt;Charts are valuable tools because they enable people to easily understand patterns, trends, and connections within the data. For example, a bar chart is best for comparing different categories, whereas a line chart helps us visualize changes over time. By using react component libraries, developers can focus more on business logic rather than reinventing UI components.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4c0eswkxup4wwphg6nx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4c0eswkxup4wwphg6nx9.png" alt="react charts libraries comparison" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see in the above image, on one side, there is plain and boring data, while on the other hand, there’s modern visualization using charts. Now, which one do you think looks better and would reach a broader audience?&lt;/p&gt;

&lt;h3&gt;
  
  
  Advantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Easy and accessible and make data visualization easy.&lt;/li&gt;
&lt;li&gt;Support multiple chart types&lt;/li&gt;
&lt;li&gt;Provide customization of Colors, sizes, labels, tooltips, animations etc.&lt;/li&gt;
&lt;li&gt;Seamless &lt;strong&gt;React&lt;/strong&gt; integration.&lt;/li&gt;
&lt;li&gt;Optimized for performance with small bundle size.&lt;/li&gt;
&lt;li&gt;Automatically &lt;strong&gt;update charts&lt;/strong&gt; when data changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export&lt;/strong&gt; Allow exporting charts to images like PNG, JPEG SVG.&lt;/li&gt;
&lt;li&gt;Charts components can be &lt;strong&gt;reused&lt;/strong&gt; across your app, reducing duplication of code.&lt;/li&gt;
&lt;li&gt;Chart libraries are designed to scale to handle large datasets efficiently.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, let’s dive into the world of React charts libraries and take a look at the top 10 options. Each library comes with its own unique set of features and use cases, making the process easier and more efficient. Let’s explore!&lt;/p&gt;

&lt;h2&gt;
  
  
  ApexCharts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apexcharts.com/" rel="noopener noreferrer"&gt;ApexCharts&lt;/a&gt; is a modern charting library that helps developers to create beautiful and interactive visualizations for web pages. It is an &lt;a href="https://github.com/apexcharts/apexcharts.js" rel="noopener noreferrer"&gt;open-source&lt;/a&gt; project licensed under &lt;a href="https://opensource.org/license/mit/" rel="noopener noreferrer"&gt;MIT&lt;/a&gt; and is free to use in commercial applications.&lt;/p&gt;

&lt;p&gt;ApexCharts allows you to create responsive charts that scale well for different screen sizes like desktops, tablets and mobile phones. You can define responsive queries to have different chart layouts for different screen widths. This ensures a good user experience across devices.&lt;/p&gt;

&lt;p&gt;The charts are highly interactive. Users can zoom, pan and scroll through the data. They can toggle the visibility of datasets in multi-series charts. When users hover over data points, informative tooltips are shown. All these interactions help communicate the data more effectively.&lt;/p&gt;

&lt;p&gt;ApexCharts can load data dynamically based on user selections and then create other dependent charts based on that data. This makes the charts truly interactive as data can be updated in real time based on user actions.&lt;/p&gt;

&lt;p&gt;The charts provide high performance, especially for large datasets with thousands of data points. ApexCharts uses optimizations and caching techniques to render charts quickly and smoothly.&lt;/p&gt;

&lt;p&gt;Annotations can be added to charts to clarify things for users. Labels can be placed on axes or specific data points to highlight important values or events. This aids in interpreting the charts easily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ApexCharts scales well for different screen sizes and aspect ratios.&lt;/li&gt;
&lt;li&gt;Interactive features like zooming, panning, and real-time updates.&lt;/li&gt;
&lt;li&gt;It can handle dynamic data and update the chart accordingly.&lt;/li&gt;
&lt;li&gt;Renders large datasets efficiently using caching techniques.&lt;/li&gt;
&lt;li&gt;Annotate charts by placing labels on axes and data points.&lt;/li&gt;
&lt;li&gt;Smoothly changes datasets, loads dynamic data and interacts with charts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We have used ApexCharts in out &lt;strong&gt;&lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;Modernize React MUI Dashboard Theme&lt;/a&gt;.&lt;/strong&gt; You can check out the &lt;a href="https://modernize-react.adminmart.com/dashboards/modern" rel="noopener noreferrer"&gt;live preview&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adminmart.com/product/modernize-react-mui-dashboard-theme/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbljhbz4rokvo63i34g82.png" alt="Modernize React MUI Dashboard Template from AdminMart" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is the most powerful and developer friendly &lt;a href="https://adminmart.com/templates/react/" rel="noopener noreferrer"&gt;React Admin Dashboard&lt;/a&gt; template based on MUI React Library, That helps you to kickstart your web app project with its customizability and feature / pages options. It has more than 13 Applications which are ready to use such as &lt;a href="https://modernize-react.adminmart.com/apps/calendar" rel="noopener noreferrer"&gt;Calendar App&lt;/a&gt;, &lt;a href="https://modernize-react.adminmart.com/apps/chats" rel="noopener noreferrer"&gt;Chat App&lt;/a&gt;, &lt;a href="https://modernize-react.adminmart.com/apps/ecommerce/shop" rel="noopener noreferrer"&gt;E-Commerce Shop App&lt;/a&gt; and many others.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to use ApexCharts?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install the &lt;a href="https://www.npmjs.com/package/react-apexcharts" rel="noopener noreferrer"&gt;ApexCharts&lt;/a&gt; using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-apexcharts &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add react-apexcharts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Then import the component and start using it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Chart&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-apexcharts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;App&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;options&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;basic-bar&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="na"&gt;xaxis&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;categories&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1991&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1992&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1993&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1994&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1995&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1996&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1997&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1998&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1999&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;series&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;series-1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;49&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;91&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"app"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"mixed-chart"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt;
              &lt;span class="na"&gt;options&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;options&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;series&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;series&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
              &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bar"&lt;/span&gt;
              &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"500"&lt;/span&gt;
            &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/magical-browser-7spf2p?file=/src/App.js" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/magical-browser-7spf2p"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Recharts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://recharts.org/" rel="noopener noreferrer"&gt;Recharts&lt;/a&gt; is another React charting library that simplifies creating charts by providing a wide range of chart components out of the box. It is built on top of &lt;a href="https://d3js.org/" rel="noopener noreferrer"&gt;D3.js&lt;/a&gt; but abstracts away the complexities, making it easier for React developers to create interactive and visually appealing charts and graphs. Recharts leverage the power of SVG (Scalable Vector Graphics) for rendering, allowing charts to be scalable and fit on any screen size.&lt;/p&gt;

&lt;p&gt;The main purpose of this library is to help you to write charts in React applications without any pain. Main principles of Recharts are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simply&lt;/strong&gt; deploy with React components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native&lt;/strong&gt; SVG support, lightweight depending only on some D3 submodules.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Declarative&lt;/strong&gt; components, components of charts are purely presentational.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A rich collection of chart types and customization options.&lt;/li&gt;
&lt;li&gt;Animation and interaction support for seamless user experiences.&lt;/li&gt;
&lt;li&gt;Responsive design for various devices and screen sizes.&lt;/li&gt;
&lt;li&gt;Straightforward integration with React applications.&lt;/li&gt;
&lt;li&gt;The library has a lightweight bundle size – Around 8KB minified.&lt;/li&gt;
&lt;li&gt;You have full control over chart styling using the theme object. You can customize colors, font styles, sizes, paddings, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use Recharts?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://www.npmjs.com/package/recharts" rel="noopener noreferrer"&gt;Recharts&lt;/a&gt; using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;recharts
&lt;span class="c"&gt;# or &lt;/span&gt;
yarn add recharts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Then import the component and use it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;AreaChart&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;Area&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;XAxis&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;YAxis&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CartesianGrid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;Tooltip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;recharts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Page A&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;uv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;pv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;amt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Page B&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;uv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;pv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1398&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;amt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2210&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Page C&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;uv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;pv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;9800&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;amt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2290&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Page D&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;uv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2780&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;pv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3908&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;amt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="c1"&gt;//...more data&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AreaChart&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CartesianGrid&lt;/span&gt; &lt;span class="na"&gt;strokeDasharray&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3 3"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;XAxis&lt;/span&gt; &lt;span class="na"&gt;dataKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;YAxis&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Tooltip&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Area&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"monotone"&lt;/span&gt;
        &lt;span class="na"&gt;dataKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"uv"&lt;/span&gt;
        &lt;span class="na"&gt;stackId&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#8884d8"&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#8884d8"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Area&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"monotone"&lt;/span&gt;
        &lt;span class="na"&gt;dataKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"pv"&lt;/span&gt;
        &lt;span class="na"&gt;stackId&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#82ca9d"&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#82ca9d"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Area&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"monotone"&lt;/span&gt;
        &lt;span class="na"&gt;dataKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"amt"&lt;/span&gt;
        &lt;span class="na"&gt;stackId&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#ffc658"&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#ffc658"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;AreaChart&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/simple-area-chart-4ujxw" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/simple-area-chart-4ujxw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  React-Chartjs-2
&lt;/h2&gt;

&lt;p&gt;If you’ve heard of &lt;a href="https://www.chartjs.org/" rel="noopener noreferrer"&gt;Chart.js&lt;/a&gt;, you might wonder what &lt;a href="https://react-chartjs-2.js.org/" rel="noopener noreferrer"&gt;React-chartjs-2&lt;/a&gt; is all about. Well, think of it as a handy tool for using Chart.js within your React projects. Chart.js is a JavaScript library that helps create various types of interactive charts using HTML5 Canvas.&lt;/p&gt;

&lt;p&gt;React-chartjs-2 acts like a bridge, making it easier to use Chart.js in React. If you’re already familiar with Chart.js, adopting React-chartjs-2 should be straightforward. It’s a beginner-friendly React chart library with lots of unique chart components.&lt;/p&gt;

&lt;p&gt;While react-chartjs-2 doesn’t have it’s own detailed documentation, its website provides insights into different chart types and how to begin using them. In addition, Chart.js offers detailed and user-friendly &lt;a href="https://www.chartjs.org/docs/latest/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; to support your charting needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Supports various chart types: line, bar, pie, doughnut, radar, and more.&lt;/li&gt;
&lt;li&gt;Declarative syntax for easy configuration.&lt;/li&gt;
&lt;li&gt;Interactive charts with tooltips and clickable legends.&lt;/li&gt;
&lt;li&gt;Dynamic updates for changing data.&lt;/li&gt;
&lt;li&gt;Extensive customization options for appearance and behavior.&lt;/li&gt;
&lt;li&gt;Responsive design for different screen sizes.&lt;/li&gt;
&lt;li&gt;Compatible with Server-Side Rendering (SSR).&lt;/li&gt;
&lt;li&gt;Active maintenance and strong community support.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use react-chartjs-2?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install the &lt;a href="https://www.npmjs.com/package/chart.js" rel="noopener noreferrer"&gt;chart.js&lt;/a&gt; and &lt;a href="https://www.npmjs.com/package/react-chartjs-2" rel="noopener noreferrer"&gt;react-chartjs-2&lt;/a&gt; first using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt; chart.js react-chartjs-2
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add chart.js react-chartjs-2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Then, import and use individual components:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Chart&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;ChartJS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ArcElement&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Tooltip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Legend&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;chart.js&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Doughnut&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-chartjs-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;ChartJS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ArcElement&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Tooltip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Legend&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Doughnut&lt;/span&gt; &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the &lt;a href="https://codesandbox.io/s/github/reactchartjs/react-chartjs-2/tree/master/sandboxes/bar/vertical?from-embed" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/react-chartjs-2-adminmart-demo-rmckh8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Victory
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://formidable.com/open-source/victory" rel="noopener noreferrer"&gt;Victory&lt;/a&gt; is a set of modular charting components for React and React Native. Victory makes it easy to get started without sacrificing flexibility. Create one of a kind data visualizations with fully customizable styles and behaviors. Victory uses the same API for web and React Native applications for easy cross-platform charting.&lt;/p&gt;

&lt;p&gt;It is also known for its detailed &lt;a href="https://formidable.com/open-source/victory/docs/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;, making it user-friendly and perfect for beginners to dive into. The library supports SVG drawing and provides high-quality customizable animations. This library is unique because it can be used to build both iOS and Android apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A collection of pre-built, customizable chart components.&lt;/li&gt;
&lt;li&gt;Comprehensive documentation and active community support.&lt;/li&gt;
&lt;li&gt;Robust event system for handling interactions.&lt;/li&gt;
&lt;li&gt;Integrates smoothly with React apps.&lt;/li&gt;
&lt;li&gt;Support for Android and iOS apps.&lt;/li&gt;
&lt;li&gt;Supports drawing with SVG.&lt;/li&gt;
&lt;li&gt;High-quality customizable animations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use Victory?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://www.npmjs.com/package/victory" rel="noopener noreferrer"&gt;victory&lt;/a&gt; by using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;victory &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add victory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Then, import and use it’s components:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;render&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;VictoryPie&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;victory&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PieChart&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Cats&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Dogs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Birds&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;55&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;VictoryPie&lt;/span&gt; &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;PieChart&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;,&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;app&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/victory-chart-demo-rntdp3?from-embed" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/victory-chart-demo-rntdp3"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  React-vis
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://uber.github.io/react-vis" rel="noopener noreferrer"&gt;React-vis&lt;/a&gt; is a user-friendly React visualization library that adheres to the core principles of React development. It seamlessly integrates with other React components, allowing you to work with it effortlessly. With properties, children, and callbacks, &lt;a href="https://uber.github.io/react-vis" rel="noopener noreferrer"&gt;React-vis&lt;/a&gt; components can be easily composed, making it accessible even to React beginners. It was created by &lt;a href="https://www.uber.com/" rel="noopener noreferrer"&gt;Uber&lt;/a&gt; and built with &lt;a href="https://react.dev/" rel="noopener noreferrer"&gt;React&lt;/a&gt; and &lt;a href="https://d3js.org/" rel="noopener noreferrer"&gt;D3&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is not just a theoretical concept; it has been tested and utilized within Uber’s internal tools, showcasing its strength and reliability in real-world applications. Therefore, users can rest assured that React-vis is not only user-friendly but also industry-strong, ready to support their data visualization.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Simplified API for easy integration with React apps.&lt;/li&gt;
&lt;li&gt;Basic chart types like bar, line, and scatter plots.&lt;/li&gt;
&lt;li&gt;Supports real-time data updates.&lt;/li&gt;
&lt;li&gt;Active community and good documentation.&lt;/li&gt;
&lt;li&gt;Supports a wide range of charts, from area charts to treemaps.&lt;/li&gt;
&lt;li&gt;Smooth animations for better user experience.&lt;/li&gt;
&lt;li&gt;Lightweight and easy to use.&lt;/li&gt;
&lt;li&gt;Optimized for rendering large datasets efficiently.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use React-vis?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://www.npmjs.com/package/react-vis" rel="noopener noreferrer"&gt;react-vis&lt;/a&gt; by using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;react-vis &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add react-vis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Then, import and use it’s components:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./App.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../node_modules/react-vis/dist/style.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;XYPlot&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;LineSeries&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-vis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;App&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"App"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;XYPlot&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;LineSeries&lt;/span&gt; &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;XYPlot&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/react-vis-demo-wpfpcn" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/react-vis-demo-wpfpcn"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  React Google Charts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.react-google-charts.com/" rel="noopener noreferrer"&gt;React Google Charts&lt;/a&gt; is a library that allows you to easily embed &lt;a href="https://developers.google.com/chart/interactive/docs/reference" rel="noopener noreferrer"&gt;Google Charts&lt;/a&gt; (such as Bar Charts, Line Charts, Pie Charts, Geo Charts, etc.) into your React applications.&lt;/p&gt;

&lt;p&gt;It works by wrapping the &lt;a href="https://developers.google.com/chart/interactive/docs/reference" rel="noopener noreferrer"&gt;Google Charts&lt;/a&gt; JavaScript API into React components. This allows you to create charts in React, where the charts’ data and configuration are passed as props to the chart components.&lt;/p&gt;

&lt;p&gt;You can also create 3D charts with options like &lt;code&gt;{is3D: true}&lt;/code&gt;. This adds an extra dimension to the visualizations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React Google Charts is a library that allows easy integration of Google Charts in React applications.&lt;/li&gt;
&lt;li&gt;Provides a set of React components to render different types of Google Charts, such as line charts, bar charts, pie charts, and more.&lt;/li&gt;
&lt;li&gt;Enables interactive and responsive charts with built-in event handling capabilities.&lt;/li&gt;
&lt;li&gt;Supports a wide range of chart customization options, including colors, fonts, tooltips, and legends.&lt;/li&gt;
&lt;li&gt;Facilitates dynamic data updates, allowing real-time chart rendering based on changing data.&lt;/li&gt;
&lt;li&gt;Offers seamless integration with React applications, making use of React’s virtual DOM for efficient rendering.&lt;/li&gt;
&lt;li&gt;Provides consistent charting experience, as it leverages Google Charts API behind the scenes.&lt;/li&gt;
&lt;li&gt;Offers extensive documentation and a vibrant community for support and troubleshooting.&lt;/li&gt;
&lt;li&gt;Compatible with modern web development practices and can be easily integrated with other React libraries and frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use React Google Charts?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://www.npmjs.com/package/react-google-charts" rel="noopener noreferrer"&gt;react-google-charts&lt;/a&gt; by using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt; react-google-charts
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add react-google-charts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Then, import and use it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Chart&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-google-charts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Country&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Popularity&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Germany&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;United States&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Brazil&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Canada&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;France&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;RU&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;700&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt;
      &lt;span class="na"&gt;chartEvents&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;eventName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;select&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;callback&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;chartWrapper&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;chartWrapper&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getChart&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;selection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getSelection&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;selection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;region&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;selection&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
            &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Selected : &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;region&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;chartType&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"GeoChart"&lt;/span&gt;
      &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"100%"&lt;/span&gt;
      &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"400px"&lt;/span&gt;
      &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/github/RakanNimer/react-google-charts/tree/master/sandboxes/geo-chart/default?from-embed" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/google-charts-adminmart-demo-5mgxnv"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  React Stockcharts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rrag.github.io/react-stockcharts/" rel="noopener noreferrer"&gt;React Stockcharts&lt;/a&gt; is an open source library for creating interactive financial charts and technical indicators in React applications. It is built on top of d3-financial, which is a &lt;a href="https://d3js.org/" rel="noopener noreferrer"&gt;D3&lt;/a&gt; extension for finance.&lt;/p&gt;

&lt;p&gt;The library enables you to create various financial charts, such as Candlestick charts, Line charts, Bar charts, OHLC charts, and many more. It also supports rendering over 50+ technical indicators like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MACD&lt;/li&gt;
&lt;li&gt;RSI&lt;/li&gt;
&lt;li&gt;Stochastic Oscillator&lt;/li&gt;
&lt;li&gt;Moving Averages&lt;/li&gt;
&lt;li&gt;Bollinger Bands&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can find the full list &lt;a href="https://github.com/rrag/react-stockcharts-examples2" rel="noopener noreferrer"&gt;here&lt;/a&gt;. You can render these charts and indicators by creating React components and passing the data as a prop. The library takes care of updating the chart and re-rendering it whenever the data changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Renders candlestick charts, line charts, OHLC charts, volume charts, Heikin-Ashi charts and more&lt;/li&gt;
&lt;li&gt;Supports over 50+ technical indicators like MACD, RSI, Bollinger Bands, Moving Averages etc.&lt;/li&gt;
&lt;li&gt;Charts re-render automatically when data changes&lt;/li&gt;
&lt;li&gt;Modular chart components for reusability&lt;/li&gt;
&lt;li&gt;Extensible and customizable charts&lt;/li&gt;
&lt;li&gt;Optimized using d3-finance under the hood&lt;/li&gt;
&lt;li&gt;Interactive charts with zooming, panning and tooltips&lt;/li&gt;
&lt;li&gt;Provides a comprehensive charting library for building financial apps in React&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install the &lt;a href="https://www.npmjs.com/package/react-stockcharts" rel="noopener noreferrer"&gt;react-stockcharts&lt;/a&gt; by using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;  &lt;span class="nt"&gt;--save&lt;/span&gt; react-stockcharts
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add react-stockcharts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Import the Component and start using it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// index.js&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;render&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Chart&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Chart&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;getData&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./utils&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;TypeChooser&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/helper&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ChartComponent&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;componentDidMount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nf"&gt;getData&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setState&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Loading...&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;TypeChooser&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;TypeChooser&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChartComponent&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Define the Chart:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Chart.js&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prop-types&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;scaleTime&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;d3-scale&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;format&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;d3-format&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;timeFormat&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;d3-time-format&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ChartCanvas&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Chart&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;BarSeries&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;CandlestickSeries&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/series&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;XAxis&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;YAxis&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/axes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;CrossHairCursor&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;EdgeIndicator&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;CurrentCoordinate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;MouseCoordinateX&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;MouseCoordinateY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/coordinates&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;OHLCTooltip&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/tooltip&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;fitWidth&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/helper&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;last&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-stockcharts/lib/utils&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CandleStickChartForContinuousIntraDay&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ratio&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;xAccessor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;xAccessor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;last&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;xAccessor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;xExtents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

        &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ChartCanvas&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;ratio&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ratio&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;seriesName&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"MSFT"&lt;/span&gt;
                    &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;xScale&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;scaleTime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;xAccessor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;xAccessor&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;xExtents&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;xExtents&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                        &lt;span class="na"&gt;yExtents&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;volume&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                        &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;w&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;YAxis&lt;/span&gt; &lt;span class="na"&gt;axisAt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"left"&lt;/span&gt; &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"left"&lt;/span&gt; &lt;span class="na"&gt;ticks&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;tickFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.2s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;MouseCoordinateY&lt;/span&gt;
                        &lt;span class="na"&gt;at&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"left"&lt;/span&gt;
                        &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"left"&lt;/span&gt;
                        &lt;span class="na"&gt;displayFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.4s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;BarSeries&lt;/span&gt; &lt;span class="na"&gt;yAccessor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;close&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;open&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#6BA583&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#FF0000&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CurrentCoordinate&lt;/span&gt; &lt;span class="na"&gt;yAccessor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#9B0A47"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;EdgeIndicator&lt;/span&gt; &lt;span class="na"&gt;itemType&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"first"&lt;/span&gt; &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"left"&lt;/span&gt; &lt;span class="na"&gt;edgeAt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"left"&lt;/span&gt;
                        &lt;span class="na"&gt;yAccessor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;displayFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.4s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#0F0F0F"&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;EdgeIndicator&lt;/span&gt; &lt;span class="na"&gt;itemType&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"last"&lt;/span&gt; &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt; &lt;span class="na"&gt;edgeAt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt;
                        &lt;span class="na"&gt;yAccessor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;displayFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.4s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#0F0F0F"&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                        &lt;span class="na"&gt;yExtents&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;high&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;low&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                        &lt;span class="na"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;XAxis&lt;/span&gt; &lt;span class="na"&gt;axisAt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bottom"&lt;/span&gt; &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bottom"&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;YAxis&lt;/span&gt; &lt;span class="na"&gt;axisAt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt; &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt; &lt;span class="na"&gt;ticks&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;MouseCoordinateX&lt;/span&gt;
                        &lt;span class="na"&gt;rectWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                        &lt;span class="na"&gt;at&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bottom"&lt;/span&gt;
                        &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bottom"&lt;/span&gt;
                        &lt;span class="na"&gt;displayFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;timeFormat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;%H:%M:%S&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;MouseCoordinateY&lt;/span&gt;
                        &lt;span class="na"&gt;at&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt;
                        &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt;
                        &lt;span class="na"&gt;displayFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.2f&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CandlestickSeries&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;EdgeIndicator&lt;/span&gt; &lt;span class="na"&gt;itemType&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"last"&lt;/span&gt; &lt;span class="na"&gt;orient&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt; &lt;span class="na"&gt;edgeAt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"right"&lt;/span&gt;
                        &lt;span class="na"&gt;yAccessor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;close&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;close&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;open&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#6BA583&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#FF0000&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;OHLCTooltip&lt;/span&gt; &lt;span class="na"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;xDisplayFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;timeFormat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;%Y-%m-%d %H:%M:%S&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Chart&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CrossHairCursor&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;ChartCanvas&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;CandleStickChartForContinuousIntraDay&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;propTypes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isRequired&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isRequired&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;ratio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isRequired&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;oneOf&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;svg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hybrid&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nx"&gt;isRequired&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;CandleStickChartForContinuousIntraDay&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultProps&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;svg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;CandleStickChartForContinuousIntraDay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;fitWidth&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;CandleStickChartForContinuousIntraDay&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;CandleStickChartForContinuousIntraDay&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/github/rrag/react-stockcharts-examples2/tree/master/examples/CandleStickChartForContinuousIntraDay" rel="noopener noreferrer"&gt;Code Sandbox:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/react-stockcharts-adminmart-demo-x5tvlw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Nivo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nivo.rocks/" rel="noopener noreferrer"&gt;Nivo&lt;/a&gt; is a data visualization library built on top of &lt;a href="https://d3js.org/" rel="noopener noreferrer"&gt;D3.js&lt;/a&gt; and &lt;a href="https://react.dev/" rel="noopener noreferrer"&gt;React&lt;/a&gt;. It offers a range of well-designed, customizable charts with great animations, making it suitable for creating visually impressive data visualizations.&lt;/p&gt;

&lt;p&gt;It provides an innovative solution for web developers to generate charts and data visualizations on the server side. It also offers a wide variety of templates and designs for charts that developers can choose from. The charts have a distinctive look and effectively convey data in an impactful way.&lt;/p&gt;

&lt;p&gt;Several libraries already exist for React d3 integration, but just a few provide server side rendering ability and fully declarative charts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Highly customizable&lt;/li&gt;
&lt;li&gt;Motion/transitions, powered by &lt;a href="https://www.react-spring.dev/" rel="noopener noreferrer"&gt;@react-spring&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Component playground&lt;/li&gt;
&lt;li&gt;Exhaustive documentation&lt;/li&gt;
&lt;li&gt;Isomorphic rendering&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nivo.rocks/components/?filter=svg" rel="noopener noreferrer"&gt;SVG charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nivo.rocks/components/?filter=html" rel="noopener noreferrer"&gt;HTML charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nivo.rocks/components/?filter=canvas" rel="noopener noreferrer"&gt;Canvas charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/plouc/nivo-api" rel="noopener noreferrer"&gt;Server side rendering API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nivo.rocks/guides/legends/" rel="noopener noreferrer"&gt;Legends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nivo.rocks/guides/patterns/" rel="noopener noreferrer"&gt;SVG patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nivo.rocks/guides/gradients/" rel="noopener noreferrer"&gt;Gradients&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Responsive charts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use nivo?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install the &lt;a href="https://www.npmjs.com/package/nivo" rel="noopener noreferrer"&gt;nivo&lt;/a&gt; by using the following command
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# core package&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; @nivo/core
&lt;span class="c"&gt;# for bar charts&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; @nivo/bar
&lt;span class="c"&gt;# for bump chart&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; @nivo/bump        &lt;span class="c"&gt;# we have used bump in our example&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Import the Component and start using it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ResponsiveBump&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@nivo/bump&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Serie 1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;y&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;y&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2002&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;y&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2003&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;y&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2004&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;y&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="c1"&gt;// ... more data&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;


&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MyResponsiveBump&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ResponsiveBump&lt;/span&gt;
        &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;scheme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;spectral&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;lineWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;activeLineWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;inactiveLineWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;inactiveOpacity&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;pointSize&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;activePointSize&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;inactivePointSize&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;pointColor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;background&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;pointBorderWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;activePointBorderWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;pointBorderColor&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;serie.color&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;axisTop&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;tickSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;tickPadding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;tickRotation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legendPosition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;middle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legendOffset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;36&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;axisBottom&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;tickSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;tickPadding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;tickRotation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legendPosition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;middle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legendOffset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;axisLeft&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;tickSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;tickPadding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;tickRotation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ranking&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legendPosition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;middle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;legendOffset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;axisRight&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/nivo-charts-demo-3p8grs" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/nivo-charts-demo-3p8grs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  React FusionCharts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/react-fusioncharts" rel="noopener noreferrer"&gt;React FusionCharts&lt;/a&gt; is a JavaScript charting library that enables you to create interactive charts, gauges, maps and dashboards in JavaScript. We have built a simple and lightweight React component that provides bindings for FusionCharts. The &lt;code&gt;react-fusioncharts&lt;/code&gt; component allows you to easily add rich and interactive charts to any React project.&lt;/p&gt;

&lt;p&gt;FusionCharts offers a wide range of chart types like bar charts, pie charts, line charts, area charts, funnel charts, radar charts, maps, gauges, and more. It has over 2000 maps covering countries, states, and cities that you can plot data on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React FusionCharts is a React wrapper for FusionCharts, enabling seamless integration of interactive charts into React applications.&lt;/li&gt;
&lt;li&gt;Offers various chart types, such as line, area, bar, column, and more.&lt;/li&gt;
&lt;li&gt;This software:&lt;/li&gt;
&lt;li&gt;Has many options for customizing colors, fonts, labels, tooltips, and animations.&lt;/li&gt;
&lt;li&gt;Can render data in real-time and dynamically update charts based on changing data.&lt;/li&gt;
&lt;li&gt;Makes data binding and integration with various sources, such as JSON, XML, and CSV, easy.&lt;/li&gt;
&lt;li&gt;Allows users to interact with charts by zooming, panning, drilling-down, and using tooltips.&lt;/li&gt;
&lt;li&gt;Includes various themes to quickly change the chart’s appearance and style to match the application’s design.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use React Fusion Charts?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://www.npmjs.com/package/fusioncharts" rel="noopener noreferrer"&gt;fusioncharts&lt;/a&gt; and &lt;a href="https://www.npmjs.com/package/react-fusioncharts" rel="noopener noreferrer"&gt;react-fusioncharts&lt;/a&gt; by using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;fusioncharts react-fusioncharts &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add fusioncharts react-fusioncharts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Import components and prepare the data and configuration, then start using it.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// STEP 1 - Include Dependencies&lt;/span&gt;
&lt;span class="c1"&gt;// Include react&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Include the react-fusioncharts component&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactFC&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-fusioncharts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Include the fusioncharts library&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;FusionCharts&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fusioncharts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Include the chart type&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Column2D&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fusioncharts/fusioncharts.charts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Include the theme as fusion&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;FusionTheme&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fusioncharts/themes/fusioncharts.theme.fusion&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Adding the chart and theme as dependency to the core fusioncharts&lt;/span&gt;
&lt;span class="nx"&gt;ReactFC&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fcRoot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;FusionCharts&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Column2D&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;FusionTheme&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// STEP 2 - Chart Data&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chartData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Venezuela&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;290&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Saudi&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;260&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Canada&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;180&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Iran&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;140&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Russia&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;115&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;UAE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;100&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;US&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;30&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;China&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;30&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// STEP 3 - Creating the JSON object to store the chart configurations&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chartConfigs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;column2d&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// The chart type&lt;/span&gt;
  &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;700&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// Width of the chart&lt;/span&gt;
  &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;400&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// Height of the chart&lt;/span&gt;
  &lt;span class="na"&gt;dataFormat&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// Data type&lt;/span&gt;
  &lt;span class="na"&gt;dataSource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Chart Configuration&lt;/span&gt;
    &lt;span class="na"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;//Set the chart caption&lt;/span&gt;
      &lt;span class="na"&gt;caption&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Countries With Most Oil Reserves [2017-18]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="c1"&gt;//Set the chart subcaption&lt;/span&gt;
      &lt;span class="na"&gt;subCaption&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;In MMbbl = One Million barrels&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="c1"&gt;//Set the x-axis name&lt;/span&gt;
      &lt;span class="na"&gt;xAxisName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Country&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="c1"&gt;//Set the y-axis name&lt;/span&gt;
      &lt;span class="na"&gt;yAxisName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Reserves (MMbbl)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;numberSuffix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;K&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="c1"&gt;//Set the theme for your chart&lt;/span&gt;
      &lt;span class="na"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fusion&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="c1"&gt;// Chart Data&lt;/span&gt;
    &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;chartData&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// STEP 4 - Creating the DOM element to pass the react-fusioncharts component&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;App&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ReactFC&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;chartConfigs&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the preview in the following &lt;a href="https://codesandbox.io/s/react-fusioncharts-demo-38czpz" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/react-fusioncharts-demo-38czpz"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Visx
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://airbnb.io/visx/" rel="noopener noreferrer"&gt;Visx&lt;/a&gt; is a React-based library used for constructing data visualizations. It comprises a set of reusable, low-level visualization components that merge the power of D3 for data transformation and calculations with the benefits of React for updating the DOM.&lt;/p&gt;

&lt;p&gt;It is not a complete visualization library, but a collection of primitives and components that can be mixed and matched to create custom charts and visualizations. It is component-based and unopinionated, making it lightweight and flexible. You can import only the necessary components. It focuses on performance, learnability, and expressivity. It’s easy for React developers to learn.&lt;/p&gt;

&lt;p&gt;Its packages include shapes, grids, axes, scales, tooltips, legends, and responsiveness. It was built by &lt;a href="https://airbnb.io/" rel="noopener noreferrer"&gt;Airbnb&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Visx is a powerful data visualization library for React that offers customizable chart components.&lt;/li&gt;
&lt;li&gt;Provides various chart types, including bar, line, area, and pie charts.&lt;/li&gt;
&lt;li&gt;Integrates smoothly with React applications for efficient rendering and updates.&lt;/li&gt;
&lt;li&gt;Allows extensive customization of colors, styles, and annotations for visually appealing charts.&lt;/li&gt;
&lt;li&gt;Supports smooth and interactive animations to enhance the user experience.&lt;/li&gt;
&lt;li&gt;Facilitates data transformation and manipulation for different chart requirements.&lt;/li&gt;
&lt;li&gt;Enables the creation of complex and dynamic charts through component composability.&lt;/li&gt;
&lt;li&gt;Offers excellent performance and responsiveness, even with large datasets.&lt;/li&gt;
&lt;li&gt;Provides detailed documentation and examples for easy learning.&lt;/li&gt;
&lt;li&gt;Can be easily integrated with other popular React libraries and frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use visx?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install the following dependencies:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt; yarn add @visx/shape @visx/group @visx/grid @visx/axis @visx/scale @visx/tooltip @visx/legend @visx/responsive
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add @visx/shape @visx/group @visx/grid @visx/axis @visx/scale @visx/tooltip @visx/legend @visx/responsive
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Import all the components and data and start using it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Group&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/group&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;LineRadial&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/shape&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;scaleTime&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;scaleLog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;NumberLike&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/scale&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;curveBasisOpen&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/curve&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;AppleStock&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/mock-data/lib/mocks/appleStock&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;LinearGradient&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/gradient&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;AxisLeft&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/axis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;GridRadial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;GridAngle&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@visx/grid&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;animated&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useSpring&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@react-spring/web&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;green&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#e5fd3d&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;blue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#aeeef8&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;darkgreen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#dff84d&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;background&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#744cca&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;darkbackground&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#603FA8&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;strokeColor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#744cca&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;springConfig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;tension&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// utils&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;extent&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Datum&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Datum&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Datum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;values&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;)];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// accessors&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;AppleStock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;valueOf&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;close&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;AppleStock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;close&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;formatTicks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;val&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;NumberLike&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;val&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// scales&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;xScale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;scaleTime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;range&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;PI&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;extent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;yScale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;scaleLog&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;extent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;close&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;angle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;AppleStock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;xScale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;radius&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;AppleStock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;yScale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;padding&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;firstPoint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;lastPoint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;LineRadialProps&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;animate&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Example&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;animate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;}:&lt;/span&gt; &lt;span class="nx"&gt;LineRadialProps&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;lineRef&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SVGPathElement&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;lineLength&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setLineLength&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;shouldAnimate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setShouldAnimate&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;spring&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useSpring&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;frame&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;shouldAnimate&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;springConfig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;onRest&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setShouldAnimate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="c1"&gt;// set line length once it is known after initial render&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;effectDependency&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;lineRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nf"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;lineRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nf"&gt;setLineLength&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;lineRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getTotalLength&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;effectDependency&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="c1"&gt;// Update scale output to match component dimensions&lt;/span&gt;
  &lt;span class="nx"&gt;yScale&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;reverseYScale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;yScale&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;yScale&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;reverse&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handlePress&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setShouldAnimate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;animate&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handlePress&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;onTouchStart&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handlePress&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            Animate
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;br&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setShouldAnimate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;shouldAnimate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;LinearGradient&lt;/span&gt; &lt;span class="na"&gt;from&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;green&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blue&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"line-gradient"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;rect&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;background&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;rx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Group&lt;/span&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;GridAngle&lt;/span&gt;
            &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;xScale&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;outerRadius&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;padding&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;green&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;strokeOpacity&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;strokeDasharray&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"5,2"&lt;/span&gt;
            &lt;span class="na"&gt;numTicks&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;GridRadial&lt;/span&gt;
            &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;yScale&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;numTicks&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blue&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blue&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;fillOpacity&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;strokeOpacity&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AxisLeft&lt;/span&gt;
            &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;padding&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;reverseYScale&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;numTicks&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;tickStroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
            &lt;span class="na"&gt;tickLabelProps&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
              &lt;span class="na"&gt;fontSize&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;fillOpacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;textAnchor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;middle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;dx&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1em&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;dy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;-0.5em&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;strokeColor&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
              &lt;span class="na"&gt;paintOrder&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;stroke&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;tickFormat&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;formatTicks&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="na"&gt;hideAxisLine&lt;/span&gt;
          &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;LineRadial&lt;/span&gt; &lt;span class="na"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;angle&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;radius&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;radius&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;curve&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;curveBasisOpen&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
              &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;appleStock&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
              &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
                  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;animated&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
                    &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;lineRef&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;strokeOpacity&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
                    &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
                    &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;animate&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;darkbackground&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;url(#line-gradient)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                  &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                  &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;shouldAnimate&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;animated&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
                      &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                      &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                      &lt;span class="na"&gt;strokeOpacity&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                      &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
                      &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
                      &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"url(#line-gradient)"&lt;/span&gt;
                      &lt;span class="na"&gt;strokeDashoffset&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;spring&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;frame&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;interpolate&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;lineLength&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                      &lt;span class="na"&gt;strokeDasharray&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;lineLength&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                    &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                  &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;LineRadial&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;firstPoint&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;lastPoint&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nf"&gt;xScale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;PI&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;180&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;yScale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;circle&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;`line-cap-&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;cx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cx&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;cy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cy&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;darkgreen&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;r&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;;&lt;/span&gt;
          &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Group&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Example&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Take a look at the live preview available in the &lt;a href="https://codesandbox.io/s/github/airbnb/visx/tree/master/packages/visx-demo/src/sandboxes/visx-shape-line-radial" rel="noopener noreferrer"&gt;Code Sandbox&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/visx-adminmart-demo-cy84gy"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;In conclusion, adding good charts and graphs can really improve how you show data in your React apps. Using the 10 chart libraries mentioned in the article, you can make your data visualizations a lot better.&lt;/p&gt;

&lt;p&gt;Each library has its own strengths. Some are easy to use and customize. Others have animations and update in real-time. Whether you have simple or complex data, these libraries can help.&lt;/p&gt;

&lt;p&gt;Before choosing a library, think about your needs, how big your app will get, and what design you want. Read the documentation and ask other users to make sure the library will work well for you.&lt;/p&gt;

&lt;p&gt;A good chart is worth a thousand words. These libraries have the power to help you make charts that really impress your users. So start charting now and level up how you show data!&lt;/p&gt;

&lt;p&gt;&lt;a href="mailto:info@adminmart.com"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqwh518jpq7cdabicwza.png" alt="Hire Expert React Developers" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
