{"id":4100,"date":"2023-11-04T23:14:03","date_gmt":"2023-11-04T23:14:03","guid":{"rendered":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/"},"modified":"2023-11-05T05:48:01","modified_gmt":"2023-11-05T05:48:01","slug":"how-to-use-d3-js-for-data-visualization-in-javascript","status":"publish","type":"post","link":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/","title":{"rendered":"How to Use D3.js for Data Visualization in JavaScript"},"content":{"rendered":"

Data is an essential part of our lives, and analyzing and visualizing it can provide valuable insights. JavaScript is a popular and versatile programming language that can be used to create interactive and dynamic visualizations. D3.js is a powerful JavaScript library that allows you to create data-driven and interactive visualizations on the web. In this tutorial, we will learn how to use D3.js to create captivating data visualizations.<\/p>\n

Prerequisites<\/h2>\n

To follow this tutorial, you should have a basic understanding of HTML, CSS, and JavaScript. It will also be helpful to have some knowledge of SVG (Scalable Vector Graphics) as D3.js relies heavily on SVG for creating visualizations.<\/p>\n

Getting Started<\/h2>\n

First, let’s set up our project. Create a new directory and navigate into it using your favorite command-line tool. Then, create an index.html<\/code> file and a script.js<\/code> file within the directory.<\/p>\n

mkdir d3-tutorial\ncd d3-tutorial\ntouch index.html script.js\n<\/code><\/pre>\n

Next, open the index.html<\/code> file in your preferred text editor, and add the following boilerplate code:<\/p>\n

<!DOCTYPE html>\n<html>\n<head>\n    <title>D3.js Tutorial<\/title>\n    <style>\n        #chart {\n            width: 600px;\n            height: 400px;\n            border: 1px solid #ccc;\n        }\n    <\/style>\n<\/head>\n<body>\n    <h1>Data Visualization with D3.js<\/h1>\n    <div id=\"chart\"><\/div>\n    <script src=\"https:\/\/d3js.org\/d3.v7.min.js\"><\/script>\n    <script src=\"script.js\"><\/script>\n<\/body>\n<\/html>\n<\/code><\/pre>\n

This code sets up a basic HTML document with a div<\/code> element that will serve as our chart container. It also includes a reference to the D3.js library and our JavaScript file.<\/p>\n

Creating an SVG Element<\/h2>\n

D3.js relies heavily on SVG for creating visualizations. SVG is an XML-based vector image format that provides a way to create graphics for the web. In our JavaScript file script.js<\/code>, let’s start by creating an SVG element inside the #chart<\/code> div:<\/p>\n

const svg = d3.select(\"#chart\")\n    .append(\"svg\")\n    .attr(\"width\", 600)\n    .attr(\"height\", 400);\n<\/code><\/pre>\n

Here, we use D3.js’s select<\/code> method to select the #chart<\/code> div. Then, we use the append<\/code> method to append an SVG element to the selected div. Finally, we set the width and height of the SVG element using the attr<\/code> method.<\/p>\n

Binding Data to SVG Elements<\/h2>\n

Next, let’s bind some data to our SVG elements. D3.js follows a data-driven approach to visualization, where the data determines the appearance and behavior of the elements. In our example, we will bind an array of numbers to circles in the SVG.<\/p>\n

const data = [10, 20, 30, 40, 50];\n\nsvg.selectAll(\"circle\")\n    .data(data)\n    .enter()\n    .append(\"circle\")\n    .attr(\"cx\", (d, i) => i * 70 + 50)\n    .attr(\"cy\", 200)\n    .attr(\"r\", (d) => d)\n    .attr(\"fill\", \"steelblue\");\n<\/code><\/pre>\n

This block of code does the following:<\/p>\n

    \n
  1. We define an array called data<\/code> that contains some numbers.<\/li>\n
  2. We use D3.js’s selectAll<\/code> method to select all circles that don’t exist yet.<\/li>\n
  3. We bind the data<\/code> array to the selected circles using the data<\/code> method.<\/li>\n
  4. We use the enter<\/code> method to create placeholder elements for each data point that doesn’t have a corresponding DOM element.<\/li>\n
  5. We use the append<\/code> method to append a circle element for each data point.<\/li>\n
  6. We use various attributes, such as cx<\/code>, cy<\/code>, r<\/code>, and fill<\/code>, to determine the position, size, and color of each circle based on the corresponding data point.<\/li>\n<\/ol>\n

    Save the changes, and open the index.html<\/code> file in your browser. You should see a chart with five circles, each with a different radius.<\/p>\n

    Scaling the Data<\/h2>\n

    In the previous example, the size of the circles was directly proportional to the data values. However, in most cases, the data range may vary significantly. So, it’s essential to scale the data to fit within a defined range.<\/p>\n

    D3.js provides several scaling functions to map data from one range to another. Let’s update our code to use these scaling functions:<\/p>\n

    const data = [10, 20, 30, 40, 50];\n\nconst minData = d3.min(data);\nconst maxData = d3.max(data);\n\nconst xScale = d3.scaleLinear()\n    .domain([minData, maxData])\n    .range([50, 550]);\n\nsvg.selectAll(\"circle\")\n    .data(data)\n    .enter()\n    .append(\"circle\")\n    .attr(\"cx\", (d) => xScale(d))\n    .attr(\"cy\", 200)\n    .attr(\"r\", (d) => d)\n    .attr(\"fill\", \"steelblue\");\n<\/code><\/pre>\n

    Here, we introduce two scaling functions: d3.min<\/code> and d3.max<\/code>. We use these functions to calculate the minimum and maximum values of the data<\/code> array.<\/p>\n

    Then, we create a xScale<\/code> with the d3.scaleLinear<\/code> method. We set its domain to the minimum and maximum values of the data, and its range to the desired start and end positions on the chart.<\/p>\n

    Finally, we update the cx<\/code> attribute of the circles to use the new xScale<\/code> for positioning.<\/p>\n

    Styling and Animating the Chart<\/h2>\n

    D3.js provides various methods for adding styles and animations to your charts. Let’s enhance our visualization by adding some styles and animations.<\/p>\n

    svg.selectAll(\"circle\")\n    .data(data)\n    .enter()\n    .append(\"circle\")\n    .attr(\"cx\", (d) => xScale(d))\n    .attr(\"cy\", 200)\n    .attr(\"r\", 0)\n    .attr(\"fill\", \"steelblue\")\n    .transition()\n    .duration(1000)\n    .attr(\"r\", (d) => d)\n    .attr(\"fill\", \"orange\")\n    .style(\"opacity\", 0.8);\n<\/code><\/pre>\n

    Here, we made a few changes to the code:<\/p>\n

      \n
    1. We set the initial radius of the circles to 0.<\/li>\n
    2. We added a transition<\/code> method to smoothly animate the change in radius over 1000 milliseconds.<\/li>\n
    3. We updated the fill color of the circles to orange during the transition.<\/li>\n
    4. We added a fade-in effect by setting the opacity style property to 0 before the transition and 0.8 after the transition completes.<\/li>\n<\/ol>\n

      Save the changes and reload the index.html<\/code> file in your browser. You should observe the circles gradually growing, changing color, and fading in.<\/p>\n

      Interactivity<\/h2>\n

      D3.js makes it easy to add interactivity to your visualizations. Let’s modify our example to display a tooltip when a circle is hovered over.<\/p>\n

      First, add the following CSS code to the style<\/code> tag in the index.html<\/code> file:<\/p>\n

      .tooltip {\n    position: absolute;\n    padding: 8px;\n    font-family: Arial, sans-serif;\n    font-size: 14px;\n    color: #fff;\n    background-color: rgba(0, 0, 0, 0.8);\n    border-radius: 4px;\n    pointer-events: none;\n}\n<\/code><\/pre>\n

      This CSS code defines the styles for the tooltip. It is hidden by default using the pointer-events: none;<\/code> property.<\/p>\n

      Next, let’s modify the JavaScript code to add the tooltip functionality:<\/p>\n

      const tooltip = d3.select(\"#chart\")\n    .append(\"div\")\n    .attr(\"class\", \"tooltip\")\n    .style(\"opacity\", 0);\n\nsvg.selectAll(\"circle\")\n    .data(data)\n    .enter()\n    .append(\"circle\")\n    .attr(\"cx\", (d) => xScale(d))\n    .attr(\"cy\", 200)\n    .attr(\"r\", 0)\n    .attr(\"fill\", \"steelblue\")\n    .transition()\n    .duration(1000)\n    .attr(\"r\", (d) => d)\n    .attr(\"fill\", \"orange\")\n    .style(\"opacity\", 0.8)\n    .on(\"mouseover\", (event, d) => {\n        tooltip.transition()\n            .duration(200)\n            .style(\"opacity\", 0.9);\n        tooltip.html(`Value: ${d}`)\n            .style(\"left\", `${event.pageX}px`)\n            .style(\"top\", `${event.pageY}px`);\n    })\n    .on(\"mouseout\", () => {\n        tooltip.transition()\n            .duration(200)\n            .style(\"opacity\", 0);\n    });\n<\/code><\/pre>\n

      Here are the changes we made to the code:<\/p>\n

        \n
      1. We create a tooltip using D3.js’s select<\/code> and append<\/code> methods. We set its class to \"tooltip\"<\/code> and initially hide it by setting the opacity to 0.<\/li>\n
      2. We added mouseover and mouseout event listeners to the circles using the on<\/code> method. When the mouse is over a circle, the tooltip’s opacity is set to 0.9, and its position is calculated based on the mouse’s position. When the mouse leaves a circle, the tooltip’s opacity is set back to 0.<\/li>\n<\/ol>\n

        Save the changes and reload the index.html<\/code> file in your browser. Now, when you hover over a circle, a tooltip should appear showing the corresponding data value.<\/p>\n

        Conclusion<\/h2>\n

        D3.js is a powerful library for creating data visualizations in JavaScript. We learned how to create SVG elements, bind data to them, scale the data, add styles and animations, and incorporate interactivity into our visualizations. These concepts provide a solid foundation for building advanced and customized data visualizations using D3.js.<\/p>\n","protected":false},"excerpt":{"rendered":"

        Data is an essential part of our lives, and analyzing and visualizing it can provide valuable insights. JavaScript is a popular and versatile programming language that can be used to create interactive and dynamic visualizations. D3.js is a powerful JavaScript library that allows you to create data-driven and interactive visualizations Continue Reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[1285,1287,1284,1283,1288,1286,1290,1282,157,155,1289,1173,156,1281],"yoast_head":"\nHow to Use D3.js for Data Visualization in JavaScript - Pantherax Blogs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use D3.js for Data Visualization in JavaScript\" \/>\n<meta property=\"og:description\" content=\"Data is an essential part of our lives, and analyzing and visualizing it can provide valuable insights. JavaScript is a popular and versatile programming language that can be used to create interactive and dynamic visualizations. D3.js is a powerful JavaScript library that allows you to create data-driven and interactive visualizations Continue Reading\" \/>\n<meta property=\"og:url\" content=\"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Pantherax Blogs\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-04T23:14:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-05T05:48:01+00:00\" \/>\n<meta name=\"author\" content=\"Panther\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Panther\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t \"@context\": \"https:\/\/schema.org\",\n\t \"@graph\": [\n\t {\n\t \"@type\": \"Article\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/#article\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\"\n\t },\n\t \"author\": {\n\t \"name\": \"Panther\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\"\n\t },\n\t \"headline\": \"How to Use D3.js for Data Visualization in JavaScript\",\n\t \"datePublished\": \"2023-11-04T23:14:03+00:00\",\n\t \"dateModified\": \"2023-11-05T05:48:01+00:00\",\n\t \"mainEntityOfPage\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\"\n\t },\n\t \"wordCount\": 935,\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"keywords\": [\n\t \"\\\"D3.js data visualization example\\\"\",\n\t \"\\\"D3.js data visualization library\\\"\",\n\t \"\\\"D3.js data visualization tutorial\\\"\",\n\t \"\\\"D3.js data visualization\\\"\",\n\t \"\\\"D3.js for beginners\\\"\",\n\t \"\\\"D3.js library\\\"\",\n\t \"\\\"D3.js tutorial for beginners\\\"]\",\n\t \"\\\"D3.js tutorial\\\"\",\n\t \"\\\"Data Visualization in JavaScript\\\"\",\n\t \"\\\"Data Visualization\\\"\",\n\t \"\\\"JavaScript data visualization library\\\"\",\n\t \"\\\"JavaScript Data Visualization\\\"\",\n\t \"\\\"JavaScript\\\"\",\n\t \"[\\\"D3.js\\\"\"\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"WebPage\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\",\n\t \"url\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\",\n\t \"name\": \"How to Use D3.js for Data Visualization in JavaScript - Pantherax Blogs\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#website\"\n\t },\n\t \"datePublished\": \"2023-11-04T23:14:03+00:00\",\n\t \"dateModified\": \"2023-11-05T05:48:01+00:00\",\n\t \"breadcrumb\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/#breadcrumb\"\n\t },\n\t \"inLanguage\": \"en-US\",\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"ReadAction\",\n\t \"target\": [\n\t \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/\"\n\t ]\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"BreadcrumbList\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/#breadcrumb\",\n\t \"itemListElement\": [\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 1,\n\t \"name\": \"Home\",\n\t \"item\": \"http:\/\/localhost:10003\/\"\n\t },\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 2,\n\t \"name\": \"How to Use D3.js for Data Visualization in JavaScript\"\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"WebSite\",\n\t \"@id\": \"http:\/\/localhost:10003\/#website\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"description\": \"\",\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"SearchAction\",\n\t \"target\": {\n\t \"@type\": \"EntryPoint\",\n\t \"urlTemplate\": \"http:\/\/localhost:10003\/?s={search_term_string}\"\n\t },\n\t \"query-input\": \"required name=search_term_string\"\n\t }\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"Organization\",\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"logo\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\",\n\t \"url\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"contentUrl\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"width\": 1024,\n\t \"height\": 1024,\n\t \"caption\": \"Pantherax Blogs\"\n\t },\n\t \"image\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\"\n\t }\n\t },\n\t {\n\t \"@type\": \"Person\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\",\n\t \"name\": \"Panther\",\n\t \"image\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/image\/\",\n\t \"url\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"contentUrl\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"caption\": \"Panther\"\n\t },\n\t \"sameAs\": [\n\t \"http:\/\/localhost:10003\"\n\t ],\n\t \"url\": \"http:\/\/localhost:10003\/author\/pepethefrog\/\"\n\t }\n\t ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Use D3.js for Data Visualization in JavaScript - Pantherax Blogs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/","og_locale":"en_US","og_type":"article","og_title":"How to Use D3.js for Data Visualization in JavaScript","og_description":"Data is an essential part of our lives, and analyzing and visualizing it can provide valuable insights. JavaScript is a popular and versatile programming language that can be used to create interactive and dynamic visualizations. D3.js is a powerful JavaScript library that allows you to create data-driven and interactive visualizations Continue Reading","og_url":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/","og_site_name":"Pantherax Blogs","article_published_time":"2023-11-04T23:14:03+00:00","article_modified_time":"2023-11-05T05:48:01+00:00","author":"Panther","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Panther","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/#article","isPartOf":{"@id":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/"},"author":{"name":"Panther","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7"},"headline":"How to Use D3.js for Data Visualization in JavaScript","datePublished":"2023-11-04T23:14:03+00:00","dateModified":"2023-11-05T05:48:01+00:00","mainEntityOfPage":{"@id":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/"},"wordCount":935,"publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"keywords":["\"D3.js data visualization example\"","\"D3.js data visualization library\"","\"D3.js data visualization tutorial\"","\"D3.js data visualization\"","\"D3.js for beginners\"","\"D3.js library\"","\"D3.js tutorial for beginners\"]","\"D3.js tutorial\"","\"Data Visualization in JavaScript\"","\"Data Visualization\"","\"JavaScript data visualization library\"","\"JavaScript Data Visualization\"","\"JavaScript\"","[\"D3.js\""],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/","url":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/","name":"How to Use D3.js for Data Visualization in JavaScript - Pantherax Blogs","isPartOf":{"@id":"http:\/\/localhost:10003\/#website"},"datePublished":"2023-11-04T23:14:03+00:00","dateModified":"2023-11-05T05:48:01+00:00","breadcrumb":{"@id":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/localhost:10003\/how-to-use-d3-js-for-data-visualization-in-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/localhost:10003\/"},{"@type":"ListItem","position":2,"name":"How to Use D3.js for Data Visualization in JavaScript"}]},{"@type":"WebSite","@id":"http:\/\/localhost:10003\/#website","url":"http:\/\/localhost:10003\/","name":"Pantherax Blogs","description":"","publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/localhost:10003\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/localhost:10003\/#organization","name":"Pantherax Blogs","url":"http:\/\/localhost:10003\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/","url":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","contentUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","width":1024,"height":1024,"caption":"Pantherax Blogs"},"image":{"@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7","name":"Panther","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/person\/image\/","url":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","caption":"Panther"},"sameAs":["http:\/\/localhost:10003"],"url":"http:\/\/localhost:10003\/author\/pepethefrog\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4100"}],"collection":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/comments?post=4100"}],"version-history":[{"count":1,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4100\/revisions"}],"predecessor-version":[{"id":4456,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4100\/revisions\/4456"}],"wp:attachment":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/media?parent=4100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/categories?post=4100"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/tags?post=4100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}