{"id":7209,"date":"2019-01-16T10:37:07","date_gmt":"2019-01-16T10:37:07","guid":{"rendered":"https:\/\/www.anychart.com\/blog\/?p=7209"},"modified":"2019-01-22T03:43:02","modified_gmt":"2019-01-22T03:43:02","slug":"qlik-data-visualization-custom-drawing","status":"publish","type":"post","link":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/","title":{"rendered":"Qlik Data Visualization Extension: Introducing Custom Drawing Over Custom Theme"},"content":{"rendered":"<p><a href=\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\"><img decoding=\"async\" class=\"alignnone size-full wp-image-7282\" src=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png\" alt=\"Qlik Data Visualization Extension: Introducing custom drawing over a custom theme with AnyChart\" width=\"100%\" srcset=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png 960w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new-300x180.png 300w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new-768x461.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a>Our <a href=\"https:\/\/www.anychart.com\/technical-integrations\/samples\/qlik-charts\/overview\/\">Qlik Charts Extension<\/a> now allows a custom renderer to be set for certain chart types! We&#8217;ll show you how to make use of this new great feature in your Qlik data visualization practice, implementing custom drawing over a custom theme.<\/p>\n<p>Before we begin, please note: We recommend getting acquainted with the <a href=\"https:\/\/docs.anychart.com\/Basic_Charts\/Custom_Drawing\" target=\"_blank\" rel=\"nofollow\">custom drawing documentation<\/a> of <a href=\"https:\/\/www.anychart.com\">AnyChart JS Charts<\/a> if you never worked with it before. When you do that, it will be easier for you to understand what the custom drawing functions are and how to use them right and best.<\/p>\n<p><!--more--><\/p>\n<h2>Custom Renderer Overview<\/h2>\n<p>Setting up a custom renderer became possible thanks to the updates we pushed live to the AnyChart JavaScript charting library and our Qlik Sense extension last year. It works for all the basic chart types, pie charts, and gauge charts\u2019 bar pointer.<\/p>\n<p>The main thing to note is that the code of a custom renderer is placed in a custom theme, where one can also change any other settings such as palette, background color, font, and so on.<\/p>\n<p>The code of any theme starts with the following pattern:<\/p>\n<pre><code class=\"javascript\">\/** customTheme *\/\r\n(function(root) {\r\n  root['anychart'] = root['anychart'] || {};\r\n  root['anychart']['themes'] = root['anychart']['themes'] || {};\r\n  root['anychart']['themes']['customTheme'] = {};\r\n})(this);\r\n<\/code><\/pre>\n<p>In the code above, <code>customTheme<\/code> is the name of a custom theme. All the other settings are in the object which is empty now.<\/p>\n<h2>Setting Up Custom Renderer for Advanced Qlik Data Visualization<\/h2>\n<h3>(1) Palette and Default Background Color<\/h3>\n<p>First of all, add a palette and a default background color to be applied to all the charts.<\/p>\n<pre><code class=\"javascript\">{\r\n    'palette': {\r\n      'type': 'distinct',\r\n      'items': ['#779868', '#c8eca3', '#e5d6c9', '#a39387', '#4e4e4f']\r\n    },\r\n    'defaultBackground': {\r\n      'fill': '#283b6e',\r\n      'stroke': '#9da5bc',\r\n      'cornerType': 'round',\r\n      'corners': 0\r\n    },\r\n}\r\n<\/code><\/pre>\n<p>Now, let&#8217;s see how to make it work for several chart types.<\/p>\n<h3>(2) Custom Renderer for Column Chart<\/h3>\n<p>For example, here&#8217;s how to add a custom renderer for the <a href=\"https:\/\/docs.anychart.com\/Basic_Charts\/Column_Chart\" target=\"_blank\" rel=\"nofollow\">column series type<\/a>. This particular drawer will be used by all the basic charts with a column series, making corners of all the columns rounded like this:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-7221\" src=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/columnChart.png\" alt=\"Custom drawing in a Column Chart\" width=\"80%\" srcset=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/columnChart.png 789w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/columnChart-300x251.png 300w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/columnChart-768x642.png 768w\" sizes=\"(max-width: 789px) 100vw, 789px\" \/><\/p>\n<p>To achieve this result in your Qlik data visualization, we need to include the following custom drawing function:<\/p>\n<pre><code class=\"javascript\">'cartesianBase': {\r\n      'defaultSeriesSettings': {\r\n        'column': {\r\n          'rendering': {\r\n            'point': function() {\r\n              \/\/ if missing (not correct data), then skipping this point drawing\r\n              if (this['missing']) {\r\n                return;\r\n              }\r\n\r\n              \/\/ get shapes group\r\n              var shapes = this['shapes'] || this['getShapesGroup'](this['pointState']);\r\n\r\n\t  \/\/ if the thickness is set, then use it; if no, use the default =1.5\r\n              var strokeThickness = this['series']['stroke']();\r\n              if (strokeThickness['thickness']) {\r\n                strokeThickness = strokeThickness['thickness'];\r\n              } else {\r\n                strokeThickness = 1.5;\r\n              }\r\n              var halfStrokeThick = strokeThickness \/ 2;\r\n  \r\n          \/\/ find the coordinates needed for custom drawing\r\n\r\n              \/\/ calculate the half of the point width\r\n              var rx = this['pointWidth'] \/ 2;\r\n              var diff = 5;\r\n              var ry = this['pointWidth'] \/ 2;\r\n              \/\/ calculate the left value of the X-axis\r\n              var leftX = this['x'] - rx;\r\n              \/\/ calculate the right value of the X-axis\r\n              var rightX = this['x'] + rx;\r\n              var pointHeight = this['zero'] - this['value'];\r\n              var zero = this['zero'];\r\n              var value = this['value'];\r\n              var x = this['x'];\r\n\r\n\t    \/\/ if the column is above xAxis and its height is bigger than 2 ry\r\n              if (value &lt;= zero &amp;&amp; pointHeight &gt;= 2 * (ry - diff)) {\r\n                shapes['path']\r\n                \/\/ resets all 'line' operations\r\n                  .clear()\r\n                  .moveTo(leftX, zero - ry + diff - halfStrokeThick)\r\n                  .lineTo(leftX, value + ry - diff + halfStrokeThick)\r\n                  ['circularArc'](x, value + ry - diff + halfStrokeThick, rx, ry - diff, 180, 180)\r\n                  .lineTo(rightX, zero - ry + diff - halfStrokeThick)\r\n                  ['circularArc'](x, zero - ry + diff - halfStrokeThick, rx, ry - diff, 0, 180)\r\n                  .close();\r\n              }\r\n\r\n           \/\/ if the column is above xAxis and its height is smaller than 2 ry\r\n              if (value &lt;= zero &amp;&amp; pointHeight &lt; 2 * (ry - diff)) { ry = pointHeight \/ 2; shapes['path'] .clear() ['circularArc'](x, value + ry, rx, ry - halfStrokeThick, 180, 180) ['circularArc'](x, zero - ry, rx, ry - halfStrokeThick, 0, 180); } \/\/ if the column is below xAxis and its height is bigger than 2 ry if (value &gt; zero &amp;&amp; Math.abs(pointHeight) &gt;= 2 * (ry - diff)) {\r\n                shapes['path']\r\n                  .clear()\r\n                  .moveTo(leftX, zero - ry + diff - halfStrokeThick)\r\n                  ['circularArc'](x, value - ry + diff - halfStrokeThick, rx, ry - diff, 0, 180)\r\n                  .lineTo(leftX, zero + ry - diff + halfStrokeThick)\r\n                  ['circularArc'](x, zero + ry - diff + halfStrokeThick, rx, ry - diff, 180, 180)\r\n                  .lineTo(rightX, value - ry + diff - halfStrokeThick)\r\n                  .close();\r\n              }\r\n\r\n          \/\/ if the column is below xAxis and its height is smaller than 2 ry\r\n              if (value &gt; zero &amp;&amp; Math.abs(pointHeight) &lt; 2 * (ry - diff)) {\r\n                ry = Math.abs(pointHeight) \/ 2;\r\n                shapes['path']\r\n                  .clear()\r\n                  ['circularArc'](x, value - ry, rx, ry - halfStrokeThick, 180, -180)\r\n                  ['circularArc'](x, zero + ry, rx, ry - halfStrokeThick, 0, -180);\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n<\/code><\/pre>\n<p>That might seem complex at first. But when you look closer, that&#8217;s a simple work with the <a href=\"https:\/\/docs.anychart.com\/Graphics\/Overview\" target=\"_blank\" rel=\"nofollow\">AnyChart Graphics Engine<\/a>.<\/p>\n<p>For any other basic chart series, the code starts with the same lines. For an area series, for example, it should be:<\/p>\n<pre><code class=\"javascript\">'area': {\r\n 'rendering': {\r\n   'point': function() {}\r\n }\r\n}\r\n<\/code><\/pre>\n<h3>(3) Custom Renderer for Pie Chart<\/h3>\n<p>The same technique can be applied to a <a href=\"https:\/\/docs.anychart.com\/Basic_Charts\/Pie_Chart\" target=\"_blank\" rel=\"nofollow\">pie chart<\/a>. It\u2019s a single-series chart, so its API is a bit different from a multi-series one. A pie with a custom renderer is shown in the picture below. You can find the code for this renderer in the <a href=\"http:\/\/cdn.anychart.com\/ts\/qlikCustomTheme.js\" target=\"_blank\" rel=\"nofollow\">custom AnyChart theme file<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-7223\" src=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/pieChart.png\" alt=\"Custom drawing in a Pie Chart\" width=\"80%\" srcset=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/pieChart.png 789w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/pieChart-300x251.png 300w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/pieChart-768x643.png 768w\" sizes=\"(max-width: 789px) 100vw, 789px\" \/><\/p>\n<h3>(4) Custom Renderer for Gauge Chart<\/h3>\n<p>And it works fine just like that for <a href=\"https:\/\/docs.anychart.com\/Gauges\/Circular_Gauge\" target=\"_blank\" rel=\"nofollow\">gauges<\/a> too. The picture below shows a sample custom drawing in a circular gauge. You can find the code for this renderer in the <a href=\"http:\/\/cdn.anychart.com\/ts\/qlikCustomTheme.js\" target=\"_blank\" rel=\"nofollow\">custom AnyChart theme file<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-7222\" src=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/gaugeChart.png\" alt=\"Custom drawing in a Gauge Chart\" width=\"80%\" srcset=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/gaugeChart.png 786w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/gaugeChart-300x252.png 300w, https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/gaugeChart-768x644.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/p>\n<p>For each chart type, the approach is the same.<\/p>\n<p>If you want to achieve something you can\u2019t do, please reach out to our <a href=\"https:\/\/www.anychart.com\/support\/\">Support Team<\/a> and we will be happy to help.<\/p>\n<h2>Custom Theme Usage<\/h2>\n<p>The custom theme code for the charts shown above can be downloaded here: <a href=\"http:\/\/cdn.anychart.com\/ts\/qlikCustomTheme.js\" target=\"_blank\" rel=\"nofollow\">AnyChart Sample Custom Theme<\/a>.<\/p>\n<p>To add a custom theme to the AnyChart Qlik Extension, edit the file at <strong><code>..\\Users\\\\Documents\\Qlik\\Sense\\Extensions\\AnyChart-Qlik\\lib\\themes-combined.js<\/code><\/strong> by putting the code of your custom theme at the end.<\/p>\n<p>To use the theme by default in the future, edit the <strong><code>config.js<\/code><\/strong> file at <strong><code>..\\Users\\\\Documents\\Qlik\\Sense\\Extensions\\AnyChart-Qlik<\/code><\/strong>. There is a property with an empty value at the end of the file. Set the name of your custom theme there so it looks: <code>defaultTheme: \"customTheme\"<\/code>. This name should be the same as the name of the custom theme.<\/p>\n<p>When all this is done, you just need to launch Qlik Sense and you&#8217;ll be able to use our Qlik data visualization extension along with the custom rendered charts.<\/p>\n<p>***<\/p>\n<p>The AnyChart Qlik data visualization extension is a powerful tool, and we continue its active development to make it even better. So if you have any questions or more suggestions about how it can be improved, feel free to share. You can send a message to <a href=\"https:\/\/www.anychart.com\/support\/\">AnyChart Support Team<\/a> or simply leave a comment below.<\/p>\n<p>Don\u2019t hesitate to ask and suggest. We\u2019re always glad to work with your feedback as it greatly helps us make our products better.<\/p>\n<p><!-- SyntaxHighlighter --><link rel=\"stylesheet\" href=\"\/\/cdnjs.cloudflare.com\/ajax\/libs\/highlight.js\/9.12.0\/styles\/default.min.css\"><link rel=\"stylesheet\" href=\"\/\/cdnjs.cloudflare.com\/ajax\/libs\/highlight.js\/9.12.0\/styles\/atom-one-light.min.css\"><script src=\"\/\/cdnjs.cloudflare.com\/ajax\/libs\/highlight.js\/9.12.0\/highlight.min.js\"><\/script><script>hljs.initHighlightingOnLoad();<\/script><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Our Qlik Charts Extension now allows a custom renderer to be set for certain chart types! We&#8217;ll show you how to make use of this new great feature in your Qlik data visualization practice, implementing custom drawing over a custom theme. Before we begin, please note: We recommend getting acquainted with the custom drawing documentation [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8,23,3,456,4],"tags":[53,539,35,258,44,85,54,220,219,55,144,146,81,57,56,31,84,204,262,566,540,261,565,297,30,172],"class_list":["post-7209","post","type-post","status-publish","format-standard","hentry","category-anychart-charting-component","category-business-intelligence","category-html5","category-news","category-qlik","category-tips-and-tricks","tag-anychart","tag-anychart-qlik-extension","tag-business-intelligence","tag-charts","tag-charts-and-art","tag-column-charts","tag-data-visualization","tag-gauge-charts","tag-gauges","tag-html5-charts","tag-infographics","tag-interactive-data-visualization","tag-javascript-charting-library","tag-javascript-charts","tag-js-charts","tag-news","tag-pie-charts","tag-qlik","tag-qlik-charts","tag-qlik-data-visualization","tag-qlik-extension","tag-qlik-sense","tag-qlik-sense-data-visualization","tag-qlik-sense-extension","tag-tips-and-tricks","tag-tutorial","wpautop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Qlik Data Visualization Extension: Custom Drawing Over Custom Theme<\/title>\n<meta name=\"description\" content=\"Our Qlik data visualization extension now lets you set custom renderer for certain chart types. Learn custom drawing over custom theme in Qlik Sense charts.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qlik Data Visualization Extension: Custom Drawing Over Custom Theme\" \/>\n<meta property=\"og:description\" content=\"Our Qlik data visualization extension now lets you set custom renderer for certain chart types. Learn custom drawing over custom theme in Qlik Sense charts.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\" \/>\n<meta property=\"og:site_name\" content=\"AnyChart News\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AnyCharts\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-16T10:37:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-22T03:43:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Irina Maximova\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AnyChart\" \/>\n<meta name=\"twitter:site\" content=\"@AnyChart\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Irina Maximova\" \/>\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\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\"},\"author\":{\"name\":\"Irina Maximova\",\"@id\":\"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/c79061b5c43d09368b8d44b36842b058\"},\"headline\":\"Qlik Data Visualization Extension: Introducing Custom Drawing Over Custom Theme\",\"datePublished\":\"2019-01-16T10:37:07+00:00\",\"dateModified\":\"2019-01-22T03:43:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\"},\"wordCount\":704,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png\",\"keywords\":[\"AnyChart\",\"AnyChart Qlik Extension\",\"Business Intelligence\",\"charts\",\"Charts and Art\",\"column charts\",\"Data Visualization\",\"gauge charts\",\"gauges\",\"html5 charts\",\"infographics\",\"interactive data visualization\",\"JavaScript charting library\",\"javascript charts\",\"js charts\",\"News\",\"pie charts\",\"qlik\",\"qlik charts\",\"Qlik data visualization\",\"Qlik extension\",\"qlik sense\",\"Qlik Sense data visualization\",\"qlik sense extension\",\"Tips and tricks\",\"tutorial\"],\"articleSection\":[\"AnyChart Charting Component\",\"Business Intelligence\",\"HTML5\",\"News\",\"Qlik\",\"Tips and Tricks\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\",\"url\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\",\"name\":\"Qlik Data Visualization Extension: Custom Drawing Over Custom Theme\",\"isPartOf\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png\",\"datePublished\":\"2019-01-16T10:37:07+00:00\",\"dateModified\":\"2019-01-22T03:43:02+00:00\",\"author\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/c79061b5c43d09368b8d44b36842b058\"},\"description\":\"Our Qlik data visualization extension now lets you set custom renderer for certain chart types. Learn custom drawing over custom theme in Qlik Sense charts.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage\",\"url\":\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png\",\"contentUrl\":\"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png\",\"width\":960,\"height\":576},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.anychart.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Qlik Data Visualization Extension: Introducing Custom Drawing Over Custom Theme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.anychart.com\/blog\/#website\",\"url\":\"https:\/\/www.anychart.com\/blog\/\",\"name\":\"AnyChart News\",\"description\":\"AnyChart JS Charts\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.anychart.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/c79061b5c43d09368b8d44b36842b058\",\"name\":\"Irina Maximova\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/023075cf0bac635343d009a289d4c3d32138b5a3890d10f09ed59755e59bc065?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/023075cf0bac635343d009a289d4c3d32138b5a3890d10f09ed59755e59bc065?s=96&r=g\",\"caption\":\"Irina Maximova\"},\"url\":\"https:\/\/www.anychart.com\/blog\/author\/irina-maximova\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qlik Data Visualization Extension: Custom Drawing Over Custom Theme","description":"Our Qlik data visualization extension now lets you set custom renderer for certain chart types. Learn custom drawing over custom theme in Qlik Sense charts.","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":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/","og_locale":"en_US","og_type":"article","og_title":"Qlik Data Visualization Extension: Custom Drawing Over Custom Theme","og_description":"Our Qlik data visualization extension now lets you set custom renderer for certain chart types. Learn custom drawing over custom theme in Qlik Sense charts.","og_url":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/","og_site_name":"AnyChart News","article_publisher":"https:\/\/www.facebook.com\/AnyCharts","article_published_time":"2019-01-16T10:37:07+00:00","article_modified_time":"2019-01-22T03:43:02+00:00","og_image":[{"width":960,"height":576,"url":"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png","type":"image\/png"}],"author":"Irina Maximova","twitter_card":"summary_large_image","twitter_creator":"@AnyChart","twitter_site":"@AnyChart","twitter_misc":{"Written by":"Irina Maximova","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#article","isPartOf":{"@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/"},"author":{"name":"Irina Maximova","@id":"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/c79061b5c43d09368b8d44b36842b058"},"headline":"Qlik Data Visualization Extension: Introducing Custom Drawing Over Custom Theme","datePublished":"2019-01-16T10:37:07+00:00","dateModified":"2019-01-22T03:43:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/"},"wordCount":704,"commentCount":0,"image":{"@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png","keywords":["AnyChart","AnyChart Qlik Extension","Business Intelligence","charts","Charts and Art","column charts","Data Visualization","gauge charts","gauges","html5 charts","infographics","interactive data visualization","JavaScript charting library","javascript charts","js charts","News","pie charts","qlik","qlik charts","Qlik data visualization","Qlik extension","qlik sense","Qlik Sense data visualization","qlik sense extension","Tips and tricks","tutorial"],"articleSection":["AnyChart Charting Component","Business Intelligence","HTML5","News","Qlik","Tips and Tricks"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/","url":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/","name":"Qlik Data Visualization Extension: Custom Drawing Over Custom Theme","isPartOf":{"@id":"https:\/\/www.anychart.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage"},"image":{"@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png","datePublished":"2019-01-16T10:37:07+00:00","dateModified":"2019-01-22T03:43:02+00:00","author":{"@id":"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/c79061b5c43d09368b8d44b36842b058"},"description":"Our Qlik data visualization extension now lets you set custom renderer for certain chart types. Learn custom drawing over custom theme in Qlik Sense charts.","breadcrumb":{"@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#primaryimage","url":"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png","contentUrl":"https:\/\/www.anychart.com\/blog\/wp-content\/uploads\/2019\/01\/qlik-extension-custom-drawing-custom-theme-new.png","width":960,"height":576},{"@type":"BreadcrumbList","@id":"https:\/\/www.anychart.com\/blog\/2019\/01\/16\/qlik-data-visualization-custom-drawing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.anychart.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Qlik Data Visualization Extension: Introducing Custom Drawing Over Custom Theme"}]},{"@type":"WebSite","@id":"https:\/\/www.anychart.com\/blog\/#website","url":"https:\/\/www.anychart.com\/blog\/","name":"AnyChart News","description":"AnyChart JS Charts","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.anychart.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/c79061b5c43d09368b8d44b36842b058","name":"Irina Maximova","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.anychart.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/023075cf0bac635343d009a289d4c3d32138b5a3890d10f09ed59755e59bc065?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/023075cf0bac635343d009a289d4c3d32138b5a3890d10f09ed59755e59bc065?s=96&r=g","caption":"Irina Maximova"},"url":"https:\/\/www.anychart.com\/blog\/author\/irina-maximova\/"}]}},"_links":{"self":[{"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/posts\/7209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/comments?post=7209"}],"version-history":[{"count":30,"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/posts\/7209\/revisions"}],"predecessor-version":[{"id":7376,"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/posts\/7209\/revisions\/7376"}],"wp:attachment":[{"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/media?parent=7209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/categories?post=7209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.anychart.com\/blog\/wp-json\/wp\/v2\/tags?post=7209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}