<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Post-rsses on Duc Quang Nguyen</title>
    <link>https://dqn.website/post/index.xml</link>
    <description>Recent content in Post-rsses on Duc Quang Nguyen</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 16 Dec 2018 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://dqn.website/post/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Smooth animated temperature shift in R</title>
      <link>https://dqn.website/post/animated-temperature-graphic-in-r/</link>
      <pubDate>Sun, 16 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/animated-temperature-graphic-in-r/</guid>
      <description>&lt;p&gt;Here is a rundown of the R code I used to create the following animated graphic. This graphic is part of a &lt;a href=&#34;https://webspecial.tdg.ch/longform/genevechauffe/les-chiffres/&#34;&gt;long form story&lt;/a&gt; (paywall, in French) on global warming focused on Switzerland. It shows the shift in monthly temperatures in Geneva for 1864-1900 vs 1982-2018.&lt;/p&gt;
&lt;iframe src=&#34;https://interactif.tdg.ch/2018/geneveChauffe/videoWrapper_shift_responsive.html&#34; width=&#34;95%&#34; height=&#34;1050&#34; style=&#34;border: none;&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;It relies on ggplot2 for the chart and on gganimate to, well, you know, animate it. It was my first use of &lt;a href=&#34;https://github.com/thomasp85/gganimate/wiki&#34;&gt;gganimate&lt;/a&gt;, a pretty new amazing R package. Its documentation and examples are sometimes lacking, but are growing strong! For this animated graphic, I use only the most basic functionality of that package to tween, i.e. smoothly interpolate, between two states.&lt;/p&gt;
&lt;p&gt;First, let’s download and wrangle the data. The data is regularly updated/added comes from MeteoSuisse as a text file.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;suppressPackageStartupMessages(library(tidyverse))
library(gganimate)
library(ggalt) # to plot splines

data_url &amp;lt;- &amp;quot;https://www.meteosuisse.admin.ch/product/output/climate-data/homogenous-monthly-data-processing/data/homog_mo_GVE.txt&amp;quot;

# skip all the metadata to read only the data table 
table &amp;lt;- read.table(data_url, skip = 27, header = T) %&amp;gt;% 
  select(-Precipitation)

months &amp;lt;- structure(1:12, 
                    names = c(&amp;#39;Jan&amp;#39;, &amp;#39;Feb&amp;#39;, &amp;#39;Mar&amp;#39;,  &amp;#39;Apr&amp;#39;,  &amp;#39;May&amp;#39;,  &amp;#39;Jun&amp;#39;,  
                              &amp;#39;Jul&amp;#39;,    &amp;#39;Aug&amp;#39;,  &amp;#39;Sep&amp;#39;,  &amp;#39;Oct&amp;#39;,  &amp;#39;Nov&amp;#39;,  &amp;#39;Dec&amp;#39;))
# express month as factor
table &amp;lt;- table %&amp;gt;% mutate(
  month = factor(names(months)[match(Month, months)], 
                 levels = names(months)))

ylim &amp;lt;- table %&amp;gt;% .$Temperature %&amp;gt;% range()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The animated graphic has only 2 states, but it compensates with quite a few geoms/layers. For each state/time period, there are: the monthly temperatures (as splines), the monthly average (dashed line), the columns showing the shift and even a curved arrow to annotate the monthly average. And three text labels are animated, the time period, the monthly average and the shift of monthly temperatures in °C.&lt;/p&gt;
&lt;p&gt;I create a data frame/tibble for each layer:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;  # Define the two time periods 1864-1900 &amp;amp; 1982-2018s
  periods &amp;lt;- tibble(
    start = c(1864, 1982),
    end = c(1900, 2018),
    color = c(&amp;quot;#2a3589&amp;quot;, &amp;quot;#c6266d&amp;quot;)
  ) %&amp;gt;% 
    mutate(name = paste0(start, &amp;quot;-&amp;quot;, end))
  
  # filter data within two periods, will be plotted as splines
  df &amp;lt;- table %&amp;gt;% 
    filter((Year &amp;gt;= periods$start[1] &amp;amp; Year &amp;lt;= periods$end[1]) | Year &amp;gt;= periods$start[2]) %&amp;gt;% 
    mutate(
      timeP = factor(ifelse(Year &amp;lt;= periods$end[1], periods$name[1], periods$name[2])),
      colour = ifelse(timeP == periods$name[1], periods$color[1], periods$color[2])
  )
  
  # create a tibble w/ the average monthly temperature for each time period
  mAverageByP &amp;lt;- df %&amp;gt;% 
    group_by(timeP, month) %&amp;gt;% 
    summarise(average_temp = mean(Temperature)) %&amp;gt;% 
    ungroup() %&amp;gt;% 
    mutate(colour = ifelse(timeP == periods$name[1], periods$color[1], 
                           periods$color[2]))
  
  # create a tibble of the monthly temperature shift
  shift &amp;lt;- mAverageByP %&amp;gt;% 
    group_by(month) %&amp;gt;% 
    summarise(y0 = average_temp[1], y1 = average_temp[2]) %&amp;gt;% 
    ungroup() %&amp;gt;% 
    mutate(timeP = factor(periods$name[2], levels = periods$name))
  
  # bind the first period, there is no shift, i.e y1 = y0
  shift &amp;lt;- rbind(shift %&amp;gt;% 
                  mutate(y1 = y0, 
                         timeP = periods$name[1]), shift) %&amp;gt;% 
    mutate(timeP = as.factor(timeP))
  
  # the text label for the monthly temperature shift, if 0 replace by &amp;quot;&amp;quot;
  shiftLabel &amp;lt;- shift %&amp;gt;% 
    mutate(
      diff = y1 - y0,
      label = ifelse(
        diff == 0, &amp;quot;&amp;quot;, paste0(&amp;quot;+&amp;quot;, formatC(diff, digits = 2), &amp;quot;°&amp;quot;))
    )
  # text label for the time period
  timePLabel &amp;lt;- tibble(
    x = 7.15, y = 8.4, label = levels(df$timeP), 
    timeP = factor(levels(df$timeP))) %&amp;gt;% 
    mutate(colour = ifelse(timeP == periods$name[1], 
                           periods$color[1], periods$color[2]))
  
  # text label for the monthly average temperature by time period
  moyenneMLabel &amp;lt;- cbind(
    tibble(
      x = 7.15, y = 4.4, 
      label = paste0(levels(df$timeP), &amp;quot; average&amp;quot;)),
    mAverageByP %&amp;gt;% filter(month == &amp;quot;Mar&amp;quot;)
  )&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;my_theme &amp;lt;- function(base_size = 22) {
  ggplot() +
    geom_hline(yintercept = 0, colour = &amp;quot;darkgrey&amp;quot;, alpha = 0.6, size = 0.7) + 
  scale_x_discrete(name = &amp;quot;&amp;quot;, position = &amp;quot;top&amp;quot;, expand = c(0.02, 0.1)) +
  scale_y_continuous(
    name = &amp;quot;&amp;quot;, expand = c(0.03, 0), limits = ylim, 
    labels = function(x) paste0(x,&amp;#39;°&amp;#39;),
    breaks = scales::pretty_breaks(n = 5)
  ) +
  theme_minimal(base_size = base_size ) +
  theme(
    plot.title = element_text(hjust = 0, face = &amp;quot;bold&amp;quot;),
    plot.subtitle = element_text(hjust = 0),
    plot.caption = element_text(colour = &amp;quot;#666666&amp;quot;, 
                                margin = margin(0, 22, 24, 0, &amp;quot;pt&amp;quot;)),
    axis.ticks.length = unit(0.7, &amp;quot;lines&amp;quot;),
    axis.ticks.y = element_blank(),
    panel.grid.major.x = element_blank(),
    panel.grid.minor = element_blank(),
    panel.grid.major.y =  element_line(
      color = &amp;quot;#c2c4d6&amp;quot;, linetype = &amp;quot;dotted&amp;quot;, size = 0.35),
    plot.margin = margin(5, 5, 3, -4, &amp;quot;pt&amp;quot;),
    axis.line = element_blank()
  )
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Plot the different ggplot2 layers in an object called &lt;em&gt;p&lt;/em&gt; here. Printing &lt;em&gt;p&lt;/em&gt; will gengerate an error, but you can test it before animating it with a &lt;em&gt;facet_wrap&lt;/em&gt;. Yes, the font size might seem gigantic at this point.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;fontSize &amp;lt;- 34

p &amp;lt;- my_theme(base_size = fontSize) + 
  scale_colour_identity() +
  geom_segment(
    data = shift,
    aes(x = month, xend = month, y = y0, yend = y1), 
    size = fontSize / 2.5, colour = &amp;quot;#b30047&amp;quot;, alpha = 0.6
  ) +
  geom_xspline(
    data = df,
    aes(x = month, y = Temperature, group = Year, colour = colour), 
    size = 0.15, alpha  = 0.9
  ) +
  geom_line(
    data = mAverageByP,
    aes(x = month, y = average_temp, group = 1, colour = colour),
    size = fontSize / 10, linetype = &amp;quot;dashed&amp;quot;
  ) +
  geom_text(
    data = shiftLabel, hjust = 0.5, vjust = 0, nudge_y = 0.45,
    aes(x = month, y = y1, label = label), 
    size = fontSize / 3, colour = &amp;#39;#16040c&amp;#39;
  ) +
  geom_text(
    data = timePLabel, 
    aes(x = x, y = y, label = label, colour = colour),
    hjust = 0.5, size = fontSize * 0.8, fontface = &amp;quot;bold&amp;quot;,
    alpha = 0.8
  ) +
  geom_text(
    data = moyenneMLabel, aes(x = x, y = y, label = label),
    hjust = 0.5, size = fontSize / 3,
    vjust = -1.1, colour = &amp;quot;#666666&amp;quot;
  ) +
  geom_curve(
    data = moyenneMLabel, size = fontSize / 20, 
    colour = &amp;quot;#666666&amp;quot;, alpha = 0.7,
    aes(x = x, y = y, xend = month, yend = average_temp), 
    curvature = -0.8,  arrow = arrow(length = unit(0.01, &amp;quot;npc&amp;quot;))
  ) +
  scale_x_discrete(name = &amp;quot;&amp;quot;, position = &amp;quot;top&amp;quot;, expand = c(0.04, 0.1)) + 
  labs(title = &amp;quot;Geneva already warmed up by 2°C since 1864&amp;quot;,
       subtitle = &amp;quot;Monthly temperatures in Geneva 1864-1900 vs 1982-2018&amp;quot;,
       caption = &amp;quot;Source: MétéoSuisse | @duc_qn &amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;## Scale for &amp;#39;x&amp;#39; is already present. Adding another scale for &amp;#39;x&amp;#39;, which
## will replace the existing scale.&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# p + facet_wrap(~timeP)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Animate using &lt;em&gt;gganimate::transition_states&lt;/em&gt; as stated from the help &amp;gt; This transition splits your data into multiple states based on the levels in a given column, much like ggplot2::facet_wrap() splits up the data in multiple panels. It then tweens between the defined states and pauses at each state.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;ap &amp;lt;- p + 
  transition_states(
    timeP, transition_length = 10, state_length = 10, wrap = T
  ) +
  enter_fade() +
  exit_fade()

animate(ap, height = 1200, width = 1000)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2018-12-08-animated-temperature-graphic-in-r_files/figure-html/animate-1.gif&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;For the animated graphic I used in the &lt;a href=&#34;https://webspecial.tdg.ch/longform/genevechauffe/les-chiffres/&#34;&gt;long form story&lt;/a&gt;, I saved the animation as a &lt;em&gt;mp4&lt;/em&gt; movie rather than a &lt;em&gt;gif&lt;/em&gt; to get a much smaller file size. Movie can be looped then using HTML.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;  vid_ap &amp;lt;- animate(ap, height = 1500, width = 1200, fps = 100, 
                 renderer = ffmpeg_renderer(
                   options = list(pix_fmt = &amp;quot;yuv420p&amp;quot;, loop = 0)))&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I hope this helps. As mentioned earlier, you can so much more with &lt;a href=&#34;https://github.com/thomasp85/gganimate/&#34;&gt;gganimate&lt;/a&gt;. Check its &lt;a href=&#34;(https://github.com/thomasp85/gganimate/wiki)&#34;&gt;wiki&lt;/a&gt; for more examples.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Fails et succès en mi-saison 2017/18 de Super League: comparaison historique</title>
      <link>https://dqn.website/post/fails-et-succ%C3%A8s-en-mi-saison-comparaison-historique-super-league/</link>
      <pubDate>Thu, 01 Feb 2018 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/fails-et-succ%C3%A8s-en-mi-saison-comparaison-historique-super-league/</guid>
      <description>&lt;p&gt;&lt;sub&gt;&lt;em&gt;This post is part of a dataviz remix series of the Swiss football league’s results. The motivations behind it are explained in &lt;a href=&#34;../time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover/&#34;&gt;this post&lt;/a&gt;.&lt;/em&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;La Super League reprend ses droits ce samedi après la trêve hivernale. L’occasion de faire le point sur les (contre-)performances à la mi-saison.&lt;/p&gt;
&lt;!-- &lt;iframe src=&#34;https://dqn.website/post/2018-01-23-fails-et-succès-en-mi-saison-comparaison-historique-super-league_files/figure-html/hc_grid_historicalPoints.html&#34; width=&#34;100%&#34; height=&#34;950&#34; style=&#34;border: none;&#34;&gt;&lt;/iframe&gt; --&gt;
&lt;iframe src=&#34;../../interactive/2018-01-23_hc_grid_historicalPoints.html&#34; width=&#34;100%&#34; height=&#34;3150&#34; style=&#34;border: none;&#34;&gt;
&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title>De leur histoire en Super League, la meilleure saison de Young Boys</title>
      <link>https://dqn.website/post/swisssuperleague-dataviz-remix-2-historical-points-evolution/</link>
      <pubDate>Mon, 27 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/swisssuperleague-dataviz-remix-2-historical-points-evolution/</guid>
      <description>&lt;p&gt;&lt;sub&gt;&lt;em&gt;This post is part of a dataviz remix series of the Swiss football league’s results. The motivations behind it are explained in &lt;a href=&#34;../time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover/&#34;&gt;this post&lt;/a&gt;.&lt;/em&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;div id=&#34;bouleversement-dans-la-super-league-du-suspense&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Bouleversement dans la Super League, du suspense ?&lt;/h2&gt;
&lt;p&gt;Un mini séisme se profile-t-il cette année en Super League ? Au terme du 19&lt;sup&gt;ème&lt;/sup&gt; tour, les Bernois devancent le FC Bâle de 2 points. &lt;!-- 
Mais surtout de leur histoire en Super League, jamais les Young Boys n&#39;avaient réalisé une si bonne saison.
--&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2017-11-22-swisssuperleague-dataviz-remix-2-historical-points-evolution_files/figure-html/historical_points_evolution-1.png&#34; width=&#34;100%&#34; /&gt;&lt;img src=&#34;https://dqn.website/post/2017-11-22-swisssuperleague-dataviz-remix-2-historical-points-evolution_files/figure-html/historical_points_evolution-2.png&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;super-insipide&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Super insipide&lt;/h2&gt;
&lt;p&gt;S’il y a bien quelque chose de super dans la Super League de football suisse, c’est sa prévisibilité.&lt;/p&gt;
&lt;p&gt;Pour cause, l’insolente domination du FC Bâle, tenante du titre depuis huit années. Depuis la création de la Super League en 2003, le club Rhénan a remporté le championnat à treize reprises.&lt;/p&gt;
&lt;!--Seul un autre club, le FC Zurich, a gagné la Super League à trois reprises, mais pour la dernière fois en 2009.--&gt;
&lt;p&gt;Face à cette monotonie, les dirigeants de la Swiss Football League ont envisagé cette année divers scénarios pour pimenter le Championnat.&lt;/p&gt;
&lt;p&gt;Les examens de la compétition ont accouché d’une souris. Le &lt;a href=&#34;http://www.20min.ch/ro/sports/football/story/Vers-une-reintroduction-du-barrage-de-promotion--22129789&#34;&gt;statu quo&lt;/a&gt; est maintenu, seule l’introduction d’un barrage pourrait avoir lieu.&lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>SwissSuperLeague series delayed</title>
      <link>https://dqn.website/post/swisssuperleague-series-delayed/</link>
      <pubDate>Mon, 20 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/swisssuperleague-series-delayed/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is part of a dataviz remix series of the Swiss football league&amp;rsquo;s results. The motivations behind it are explained in &lt;a href=&#34;../time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover/&#34;&gt;this post&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Write a &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt; scraper, bother to make a package for it and see that the data have been migrated to a new website/data structure &lt;a href=&#34;https://twitter.com/SFV_ASF?ref_src=twsrc%5Etfw&#34;&gt;@SFV_ASF&lt;/a&gt; &lt;a href=&#34;https://t.co/pEVHqLefyN&#34;&gt;pic.twitter.com/pEVHqLefyN&lt;/a&gt;&lt;/p&gt;&amp;mdash; 𝙳𝚞𝚌-𝚀𝚞𝚊𝚗𝚐 𝙽𝚐𝚞𝚢𝚎𝚗 (@duc_qn) &lt;a href=&#34;https://twitter.com/duc_qn/status/932505456660140032?ref_src=twsrc%5Etfw&#34;&gt;November 20, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;


&lt;p&gt;Pour des raisons indépendantes de ma volonté, la série de visualisation de la #SwissSuperLeague est contrainte à un hiatus de quelques semaines.&lt;/p&gt;

&lt;p&gt;Les données des matchs précédemment disponibles par &lt;a href=&#34;football.ch&#34;&gt;l&amp;rsquo;Association Suisse de Football&lt;/a&gt; ont été migrées sur le site officiel de la &lt;a href=&#34;http://www.sfl.ch&#34;&gt;Swiss Football League&lt;/a&gt;. Un travail pour accommoder mon code à ce changement des données est donc nécessaire.&lt;/p&gt;

&lt;p&gt;Mais du côté positif, la &lt;a href=&#34;http://www.sfl.ch&#34;&gt;Swiss Football League&lt;/a&gt; dispose de bien plus de données détaillées, une aubaine pour le journalisme et la visualisation de données! Ce changement ouvre la porte à une kyrielle de nouvelles possibilités.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SwissSuperLeague dataviz remix 1 - Points evolution</title>
      <link>https://dqn.website/post/swiss-super-league-table/</link>
      <pubDate>Mon, 13 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/swiss-super-league-table/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is part of a dataviz remix series of the Swiss football league’s results. The motivations behind it are explained in &lt;a href=&#34;../time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover/&#34;&gt;this post&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2017-11-13-swiss-super-league-table_files/figure-html/points_evolution-1.png&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;div id=&#34;premiere-mouture&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Première mouture&lt;/h2&gt;
&lt;p&gt;Mon but ici, visualiser l’évolution des résultats des équipes. En comparaison avec le graphique officiel de la &lt;a href=&#34;http://www.sfl.ch/fr/superleague/matchcenter/&#34;&gt;Swiss Football League&lt;/a&gt; ci-desssous, je suis plutôt satisfait.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../2017-11-09-time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover_files/ssl_linechart.png&#34; height=&#34;400px&#34;/&gt;&lt;/p&gt;
&lt;p&gt;J’apprécie de pouvoir constaster les passages à vide ou la constance de certaines équipes. Par exemple, le début de saison calamiteux du Lausanne Sport, suivi d’une jolie remontée.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;dataviz-details&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Dataviz details&lt;/h2&gt;
&lt;p&gt;It is a small multiple chart of the cumulative points by round.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The stats in each facet is the: cumulative points | goals scored : goals conceded&lt;/li&gt;
&lt;li&gt;The colour used for each team is encoded by the goal differential at the last round&lt;/li&gt;
&lt;li&gt;All teams are showed with some transparency. To plot the background data in all facets, I used this &lt;a href=&#34;https://drsimonj.svbtle.com/plotting-background-data-for-groups-with-ggplot2&#34;&gt;trick&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&#34;r-code&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;R code&lt;/h2&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;## Data wrangle
f_pts &amp;lt;- ts %&amp;gt;% 
  filter(nmatch == max(nmatch)) %&amp;gt;%
  select(team, cum_pts, cum_balance) %&amp;gt;%
  rename(f_pts = cum_pts, f_balance = cum_balance)

tsf &amp;lt;- left_join(ts, f_pts)

# trick to display background data in all facets # https://drsimonj.svbtle.com/plotting-background-data-for-groups-with-ggplot2
ts.bg &amp;lt;- tsf %&amp;gt;% 
  mutate(team.ori = team) %&amp;gt;% 
  select(nmatch, cum_pts, team.ori, f_pts, f_balance)
ts.last &amp;lt;- tsf %&amp;gt;% 
  filter(nmatch == max(nmatch)) %&amp;gt;%
  mutate(
    xlab1 = 1.2, 
    ylab1 = max(cum_pts) -0.1, 
    xlab2 = nmatch -0.1,
    ylab2 = 1,
    stats = paste0(cum_pts, &amp;quot; pts | &amp;quot;, cum_scored, &amp;quot; : &amp;quot;, cum_against),
    ystart = 0
  )

nround &amp;lt;- max(tsf$nmatch)
aratio &amp;lt;- (nround / max(tsf$cum_pts)) / 1.25
  
## PLOT
gp &amp;lt;- ggplot(data = tsf) + 
  geom_step(data = ts.bg, 
            aes(x = nmatch, y = cum_pts, group = team.ori, colour = f_balance), 
            size = 0.25, alpha = 0.4) +
  geom_step(aes(x = nmatch, y = cum_pts, group = team, colour = f_balance), 
            size = 0.75, direction = &amp;quot;hv&amp;quot;) +
   dqn_theme() + 
  facet_wrap(~team, ncol = 2, strip.position = &amp;quot;top&amp;quot;) +
  theme(
    legend.position = &amp;quot;bottom&amp;quot;,
    #plot.background = element_rect(fill = &amp;#39;#EFF2F4&amp;#39;),
    axis.ticks = element_line(size = 0.2),
    plot.margin = unit(c(0.4, 0.4, 0.1, -0.4), &amp;quot;cm&amp;quot;),
    strip.text = element_blank(),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank()
  ) + 
  scale_x_continuous(
    name = &amp;quot;&amp;quot;, minor_breaks = NULL,
    breaks = scales::pretty_breaks(n = 5), expand = c(0,0),
    limits = c(1, nround + 0.4)) +
  scale_y_continuous(
    name = &amp;quot;&amp;quot;, 
    breaks = scales::pretty_breaks(n = 3), expand = c(0,1)) +
  scale_color_viridis(option = &amp;quot;C&amp;quot;, direction = -1, name = &amp;quot;Différence de buts&amp;quot;) +
  labs(caption = &amp;quot;source: www.sfl.ch | dqn.website | CC-BY-NC-SA &amp;quot;, 
       title = &amp;quot;Swiss Super League - saison 2017/2018&amp;quot;, 
       subtitle = paste0(
         &amp;quot;Points cumulés par tour. Mise à jour: tour &amp;quot; , 
         nround, &amp;quot; (&amp;quot;, Sys.Date(), &amp;quot;)&amp;quot;)
       ) +
  annotate(&amp;quot;segment&amp;quot;, x=-Inf, xend=Inf, y=-Inf, yend=-Inf, color = &amp;quot;#C2BABA&amp;quot;) +
  annotate(&amp;quot;segment&amp;quot;, x=-Inf, xend=-Inf, y=-Inf, yend=Inf, color = &amp;quot;#C2BABA&amp;quot;) +
  theme(aspect.ratio = aratio)

# add faceted text
gp2 &amp;lt;- gp + 
  geom_text(
    data = ts.last, aes(x = xlab1, y = ylab1, label = team), 
    hjust = 0, vjust = 1,
    size = 5.4,
    alpha = 0.75,
    family =  &amp;quot;Raleway&amp;quot;) +
  geom_text(
      data = ts.last, aes(x = xlab2, y = ylab2, label = stats), 
      hjust = 1, vjust = 0,
      colour = &amp;quot;black&amp;quot;,
      alpha = 0.9,
      size = 4.7,
      family =  &amp;quot;Raleway Light&amp;quot;)
# add lollipop for the last game
  gp2 + 
    geom_point(data = ts.last, size = 2,
                   aes(x = nmatch, y = cum_pts, colour = f_balance)) +
    geom_segment(data = ts.last, 
                 aes(x = nmatch, xend = nmatch, y = ystart, yend = cum_pts, 
                     colour = f_balance),
                 alpha = 0.7, size = 0.25)
  &lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div id=&#34;trials&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Trials&lt;/h2&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;ggplot(data = ts) + 
  geom_step(aes(x = nmatch, y = cum_pts, group = team, colour = team), size = 1, alpha = 0.7) + dqn_theme()&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;figure&#34;&gt;&lt;span id=&#34;fig:unnamed-chunk-2&#34;&gt;&lt;/span&gt;
&lt;img src=&#34;https://dqn.website/post/2017-11-13-swiss-super-league-table_files/figure-html/unnamed-chunk-2-1.png&#34; alt=&#34;Step chart withtout faceting and background data&#34; width=&#34;672&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;
Figure 1: Step chart withtout faceting and background data
&lt;/p&gt;
&lt;/div&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;ggplot(data = ts) + 
  geom_line(aes(x = nmatch, y = rank, group = team, colour = team), size = 1, alpha = 0.8) +
  dqn_theme()&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;figure&#34;&gt;&lt;span id=&#34;fig:unnamed-chunk-3&#34;&gt;&lt;/span&gt;
&lt;img src=&#34;https://dqn.website/post/2017-11-13-swiss-super-league-table_files/figure-html/unnamed-chunk-3-1.png&#34; alt=&#34;Plotting rank over time should make sense right?&#34; width=&#34;672&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;
Figure 2: Plotting rank over time should make sense right?
&lt;/p&gt;
&lt;/div&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;ggplot(data = ts) + 
  geom_step(aes(x = nmatch, y = cum_pts, group = team, colour = rank), 
            size = 1, alpha = 0.7) +
  dqn_theme() + facet_wrap(~team, ncol = 2) +
  scale_x_continuous(
    name = &amp;quot;Tours&amp;quot;, minor_breaks = NULL, 
    breaks = scales::pretty_breaks(n = 1), expand = c(0,0)) +
  scale_color_viridis()&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;figure&#34;&gt;&lt;span id=&#34;fig:unnamed-chunk-4&#34;&gt;&lt;/span&gt;
&lt;img src=&#34;https://dqn.website/post/2017-11-13-swiss-super-league-table_files/figure-html/unnamed-chunk-4-1.png&#34; alt=&#34;Colour is encoded by the (continous) rank, unsure whether this is a useful feature&#34; width=&#34;672&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;
Figure 3: Colour is encoded by the (continous) rank, unsure whether this is a useful feature
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Time for sports to get a dataviz makeover</title>
      <link>https://dqn.website/post/time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover/</link>
      <pubDate>Sat, 11 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover/</guid>
      <description>&lt;p&gt;I have to confess, I am not into sports. Nor do I know much about football. But as media and data professional, I am irked by how sport is summarised and visually conveyed.&lt;/p&gt;
&lt;p&gt;I am referring here to the ubiquitous league table. Present everywhere, whether being in print or online. All team sports’ results are recapped in such table.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2017-11-09-time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover_files/leagueTable_ssl.png&#34; width=&#34;90%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;sup&gt;&lt;a href=&#34;http://www.rts.ch/sport/football/&#34;&gt;RTS Sports’s football table for the Swiss Super League&lt;/a&gt;&lt;/sup&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;div id=&#34;whats-wrong-with-league-table&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;What’s wrong with league table?&lt;/h2&gt;
&lt;p&gt;I am aware I am having a rather a diehard stance here. Of course league tables are useful to show where team currently stand and to cram stats such as points, wins, loss, goals,…&lt;/p&gt;
&lt;p&gt;My issue with it is for people like me who do not regularly follow sports. One cannot get from such table how teams performed over time, like has a team been any good/bad lately?&lt;/p&gt;
&lt;p&gt;IMHO, league table is a legacy of old day media/journalism where data/news were scarce. And like with the current general media crisis, there is an unmet demand to synthesise sports information. Furthermore, sports generate more and more data. &lt;strong&gt;There are hence plenty of ways to summarise its information to be both insightful and visually attractive.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But most importantly, league table fails to achieve its purpose&lt;/strong&gt;. According to Wikipedia’s definition:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A league table is a chart or list which compares sports teams ….. by ranking them in order of ability or achievement&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;League table does the job listing achievements, but does not fulfil its primary purpose to rank teams by ability. Summing up different metrics (such as goals, wins, losses) as it is done routinely, is both primitive and fallacious.&lt;/p&gt;
&lt;p&gt;I am not a statistician nor a mathematician, but there have been for decades much more insightful metrics in sports (and in football in particular) that are informative to anybody. For instance, metrics such as the &lt;em&gt;expected number of goals scored&lt;/em&gt; or &lt;em&gt;conceded per game&lt;/em&gt; by a team would be understandable and useful to anybody (much more so than summing up the number of goals).&lt;/p&gt;
&lt;p&gt;Content produced by media needs of course to be understandable and to appeal to the largest audience possible, but it should also be able to give to convey the most relevant information at hand. So my aim here is to post more insightful football metrics instead of a race to the bottom.&lt;/p&gt;
&lt;p&gt;There are of course plenty of people and media that came to that same conclusion before. 538 and the Financial Times, to mention only two, have done outstanding work visualising, modelling and conveying football analysis. As often, English-speaking media are the forefront.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2017-11-09-time-for-sports-in-mainstream-media-to-get-a-dataviz-makeover_files/ssl_linechart.png&#34; width=&#34;90%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;sup&gt;&lt;a href=&#34;http://www.sfl.ch/fr/superleague/matchcenter/&#34;&gt;The official Swiss Football League’s actually provides an evolution chart. The expression “spaghetti chart”&amp;quot; brought to a new level…&lt;/a&gt;&lt;/sup&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It is easy to only criticze, so as a challenge I will regulary post quick data visualisation “remix” of the Raiffeisen Swiss Super League results.&lt;/strong&gt;. I hope this will be interesting and not appeal only to stathead or dataviz amateurs. &lt;strong&gt;In a second step, I hope to look into alternative (and better) metrics to rank and classify teams’ ability.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you are interested, check the posts tagged as #remix, #football, #swisssuperleague&lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Interactive mekko charts in R</title>
      <link>https://dqn.website/post/interactive-mekko-charts-in-r/</link>
      <pubDate>Thu, 19 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://dqn.website/post/interactive-mekko-charts-in-r/</guid>
      <description>&lt;script src=&#34;https://dqn.website/rmarkdown-libs/htmlwidgets/htmlwidgets.js&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://dqn.website/rmarkdown-libs/d3/d3.min.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://dqn.website/rmarkdown-libs/styles/styles.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://dqn.website/rmarkdown-libs/styles/styles.js&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://dqn.website/rmarkdown-libs/ggiraph-binding/ggiraph.js&#34;&gt;&lt;/script&gt;


&lt;div id=&#34;mekko-what&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Mekko what?&lt;/h2&gt;
&lt;p&gt;Despite its confusing name, &lt;a href=&#34;https://www.perceptualedge.com/example13.php&#34;&gt;Mekko or Marimekko&lt;/a&gt; chart is a simple yet effective data visualisation form.&lt;/p&gt;
&lt;p&gt;Here is a rundown in R for the interactive Mekko chart under (which is part of &lt;a href=&#34;http://www.swissinfo.ch/eng/employment-and-migration_foreigners-arriving-in-switzerland-more-likely-to-be-highly-skilled/43606836&#34;&gt;this story&lt;/a&gt;). I used &lt;a href=&#34;https://davidgohel.github.io/ggiraph/articles/an_introduction.html&#34;&gt;ggiraph&lt;/a&gt;, a great &lt;a href=&#34;http://www.ggplot2-exts.org&#34;&gt;ggplot2 extension&lt;/a&gt; that binds &lt;a href=&#34;https://d3js.org&#34;&gt;d3.js&lt;/a&gt; to ggplot2. This allows to easily turn a ggplot2 object into an interactive graphic.&lt;/p&gt;
&lt;iframe src=&#34;https://interactive.swissinfo.ch/2017_08_21_occupationByCountryBorn/occupationsByISCOandSwiss_EN.html&#34; width=&#34;80%&#34; height=&#34;950&#34; style=&#34;border: none;&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;The bar height here is proportional to the number of jobs and shows the large difference of jobs for different occupations.&lt;/p&gt;
&lt;p&gt;It can be thought of a regular stacked bar chart with an additional axis. The only alternative to a Mekko chart would be to “facet” as shown under. &lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2017-10-18-interactive-mekko-charts-in-r_files/nccr_tableau_migrantjob.png&#34; width=&#34;100%&#34; /&gt; &lt;sub&gt;&lt;sup&gt;&lt;a href=&#34;http://nccr-onthemove.ch/knowledge-transfer/migration-mobility-indicators/dans-quels-secteurs-economiques-trouve-t-on-le-plus-de-migrant⋅e⋅s/&#34;&gt;Data and graphic: NCCR&lt;/a&gt;&lt;/sup&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.ft.com/content/3ee98782-9149-11e7-a9e6-11d2f0ebb7f0?mhq5j=e6&#34;&gt;FT Chart Doctor&lt;/a&gt; provides an excellent explanation of the Mekko chart’s pros &amp;amp; cons. And most importantly, it explains the origins of its enigmatic name (&lt;em&gt;spoiler - a Finnish textile and fashion company’s renowned for its bright repeating patterns&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Mekko chart can boast one on the largest number of synonyms: Mekko, Marimekko, mosaic, matrix or proportional stacked bar chart. I’ll stick here with FT’s designation, &lt;em&gt;proportional stacked bar chart&lt;/em&gt;. IMHO, the most meaningful name.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;proportional-stacked-bar-chart-chart-in-r&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Proportional stacked bar chart chart in R&lt;/h2&gt;
&lt;p&gt;There are various ways to create such chart in R. There is of course a dedicated R package for it, &lt;a href=&#34;https://cran.r-project.org/web/packages/ggmosaic/vignettes/ggmosaic.html&#34;&gt;ggmosaic&lt;/a&gt; built on top of ggplot2. And various &lt;a href=&#34;http://is-r.tumblr.com/post/33290921643/simple-marimekkomosaic-plots&#34;&gt;gists&lt;/a&gt; or &lt;a href=&#34;https://learnr.wordpress.com/2009/03/29/ggplot2_marimekko_mosaic_chart/&#34;&gt;posts&lt;/a&gt; about it.&lt;/p&gt;
&lt;p&gt;I use &lt;a href=&#34;https://davidgohel.github.io/ggiraph/articles/an_introduction.html&#34;&gt;ggiraph&lt;/a&gt; a great &lt;a href=&#34;http://www.ggplot2-exts.org&#34;&gt;ggplot2 extension&lt;/a&gt; that binds &lt;a href=&#34;https://d3js.org&#34;&gt;d3.js&lt;/a&gt; to ggplot2. This allows to easily render a ggplot2 object as an interactive graphic.&lt;/p&gt;
&lt;div id=&#34;wrangle-the-data&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;Wrangle the data&lt;/h3&gt;
&lt;p&gt;Here is the data to plot in a &lt;a href=&#34;https://en.wikipedia.org/wiki/Tidy_data&#34;&gt;tidy form&lt;/a&gt;. They are the job figures in Switzerland, by occupation group (&lt;em&gt;group&lt;/em&gt;, an ordered factor) and by country of origin (&lt;em&gt;origin&lt;/em&gt;, Swiss or foreigner)&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;library(magrittr)
library(tidyverse)
library(ggiraph)

jobs &amp;lt;- c(&amp;quot;Managers&amp;quot;, &amp;quot;Professionals&amp;quot;, 
          &amp;quot;Technicians and associate professionals&amp;quot;,
          &amp;quot;Clerical support workers&amp;quot;, &amp;quot;Service and sales workers&amp;quot;,
          &amp;quot;Skilled agricultural workers&amp;quot;, &amp;quot;Craft and related trades workers&amp;quot;, 
          &amp;quot;Machine operators and assemblers&amp;quot;, &amp;quot;Elementary occupations&amp;quot;)
data &amp;lt;- tibble(
  group = factor(rep(jobs, each = 2), levels = jobs),
  origin = rep(c( &amp;quot;foreigner&amp;quot;, &amp;quot;swiss&amp;quot;), 9),
  value = c(
    128640.53, 297823.49, 219209.61, 615405.86, 168977.09, 606273.69,
    77485.11, 298635.30, 210439.96, 412074.04, 8740.28, 83336.17,
    151257.24, 323894.43, 68990.99, 93424.47, 126136.14, 86100.60
  )
)
data&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Compute for each occupation, the proportion of Swiss/foreigner and the total number of jobs.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;data %&amp;lt;&amp;gt;% group_by(group) %&amp;gt;%
  mutate(
    share = value / sum(value),
    tot_group = sum(value)
  ) %&amp;gt;% ungroup()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A proportional stacked bar is composed of rectangles. Rectangles’ coordinates are computed in two steps.&lt;/p&gt;
&lt;p&gt;The number of jobs by occupation (y dimension) and the proportion of Swiss/foreigner (x) by occupation. It relies on &lt;code&gt;cumsum()&lt;/code&gt; to express all values in a 0 to 1 coordinates.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;data %&amp;lt;&amp;gt;%
  group_by(origin) %&amp;gt;% 
  arrange(desc(group)) %&amp;gt;%
  mutate(
    ymax = cumsum(tot_group) / sum(tot_group), 
    ymin = (ymax - (tot_group/sum(tot_group)))
  ) %&amp;gt;% ungroup() %&amp;gt;% 
  group_by(group) %&amp;gt;% 
  arrange(desc(origin)) %&amp;gt;%
  mutate(xmax = cumsum(share), xmin = xmax - share) %&amp;gt;%
  ungroup() %&amp;gt;% 
  arrange(group)

data %&amp;gt;% select(group, origin, ymin, ymax, xmin, xmax) %&amp;gt;% arrange(desc(group))&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;## # A tibble: 18 x 6
##                                      group    origin       ymin       ymax
##                                     &amp;lt;fctr&amp;gt;     &amp;lt;chr&amp;gt;      &amp;lt;dbl&amp;gt;      &amp;lt;dbl&amp;gt;
##  1                  Elementary occupations     swiss 0.00000000 0.05336812
##  2                  Elementary occupations foreigner 0.00000000 0.05336812
##  3        Machine operators and assemblers     swiss 0.05336812 0.09420840
##  4        Machine operators and assemblers foreigner 0.05336812 0.09420840
##  5        Craft and related trades workers     swiss 0.09420840 0.21368795
##  6        Craft and related trades workers foreigner 0.09420840 0.21368795
##  7            Skilled agricultural workers     swiss 0.21368795 0.23684109
##  8            Skilled agricultural workers foreigner 0.21368795 0.23684109
##  9               Service and sales workers     swiss 0.23684109 0.39337573
## 10               Service and sales workers foreigner 0.23684109 0.39337573
## 11                Clerical support workers     swiss 0.39337573 0.48795332
## 12                Clerical support workers foreigner 0.39337573 0.48795332
## 13 Technicians and associate professionals     swiss 0.48795332 0.68289448
## 14 Technicians and associate professionals foreigner 0.48795332 0.68289448
## 15                           Professionals     swiss 0.68289448 0.89276323
## 16                           Professionals foreigner 0.68289448 0.89276323
## 17                                Managers     swiss 0.89276323 1.00000000
## 18                                Managers foreigner 0.89276323 1.00000000
## # ... with 2 more variables: xmin &amp;lt;dbl&amp;gt;, xmax &amp;lt;dbl&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is enough to plot a basic proportional stacked bar chart chart&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;gp &amp;lt;- ggplot(data) + 
  geom_rect(aes(ymin = ymin, ymax = ymax, xmin = xmin, xmax = xmax, fill = origin), colour = &amp;quot;white&amp;quot;, size = 0.2)
gp&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://dqn.website/post/2017-10-18-interactive-mekko-charts-in-r_files/figure-html/unnamed-chunk-2-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;make-it-interactive&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Make it interactive&lt;/h2&gt;
&lt;p&gt;For an interactive version, two additional optional aesthetic can be provided to &lt;a href=&#34;https://davidgohel.github.io/ggiraph/articles/an_introduction.html&#34;&gt;ggiraph&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;data_id&lt;/code&gt; an aesthetic to identify elements on hovering&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tooltip&lt;/code&gt; the HTML tooltip text&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;data %&amp;lt;&amp;gt;%
  mutate(
    data_id = paste0(origin, group),
    tooltip = paste0(
      &amp;quot;&amp;lt;em&amp;gt;&amp;quot;, as.character(group), &amp;quot;&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;&amp;quot;,
      origin, &amp;quot; &amp;quot;, round(share * 100, 1), &amp;quot;%&amp;lt;br&amp;gt;&amp;quot;, &amp;quot;(&amp;quot;,
      prettyNum(round(value), big.mark = &amp;quot; &amp;quot;, mode = &amp;quot;character&amp;quot;), &amp;quot; jobs)&amp;quot;
    )
  )
# hack to escape single quote
data %&amp;lt;&amp;gt;% mutate(tooltip = gsub(&amp;quot;&amp;#39;&amp;quot;, &amp;quot;`&amp;quot;, tooltip))&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Same ggplot2 call as previously, replacing &lt;code&gt;geom_rect()&lt;/code&gt; with &lt;code&gt;ggiraph::geom_rect_interactive()&lt;/code&gt;, and add the two freshly created aesthetics.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ggiraph()&lt;/code&gt; renders a ggplot2 object as an interactive chart in RStudio’s Viewer or for the web browser.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;gp &amp;lt;- ggplot(data) + 
  geom_rect_interactive(
    aes(ymin = ymin, ymax = ymax, xmin = xmin, xmax = xmax, 
        fill = origin, data_id = data_id, tooltip = tooltip), 
  colour = &amp;quot;white&amp;quot;, size = 0.2)
ggiraph({print(gp)})&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&#34;htmlwidget-1&#34; style=&#34;width:70%;height:auto;&#34; class=&#34;ggiraph html-widget&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/json&#34; data-for=&#34;htmlwidget-1&#34;&gt;{&#34;x&#34;:{&#34;html&#34;:&#34;&lt;?xml version=\&#34;1.0\&#34; encoding=\&#34;UTF-8\&#34;?&gt;\n&lt;svg xmlns=\&#34;http://www.w3.org/2000/svg\&#34; xmlns:xlink=\&#34;http://www.w3.org/1999/xlink\&#34; id=\&#34;svg_1\&#34; viewBox=\&#34;0 0 432.00 432.00\&#34;&gt;\n  &lt;g&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl1_0\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;432.00\&#34; width=\&#34;0.00\&#34; height=\&#34;0.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34; id=\&#34;1\&#34; clip-path=\&#34;url(#cl1_0)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.75\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl1_1\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34; id=\&#34;2\&#34; clip-path=\&#34;url(#cl1_1)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl1_2\&#34;&gt;\n        &lt;rect x=\&#34;27.93\&#34; y=\&#34;5.48\&#34; width=\&#34;320.95\&#34; height=\&#34;409.67\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;27.93\&#34; y=\&#34;5.48\&#34; width=\&#34;320.95\&#34; height=\&#34;409.67\&#34; id=\&#34;3\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#EBEBEB\&#34; fill-opacity=\&#34;1\&#34; stroke=\&#34;none\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,349.98 348.88,349.98\&#34; id=\&#34;4\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,256.87 348.88,256.87\&#34; id=\&#34;5\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,163.76 348.88,163.76\&#34; id=\&#34;6\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,70.65 348.88,70.65\&#34; id=\&#34;7\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;78.99,415.15 78.99,5.48\&#34; id=\&#34;8\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;151.93,415.15 151.93,5.48\&#34; id=\&#34;9\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;224.88,415.15 224.88,5.48\&#34; id=\&#34;10\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;297.82,415.15 297.82,5.48\&#34; id=\&#34;11\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,396.53 348.88,396.53\&#34; id=\&#34;12\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,303.42 348.88,303.42\&#34; id=\&#34;13\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,210.32 348.88,210.32\&#34; id=\&#34;14\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,117.21 348.88,117.21\&#34; id=\&#34;15\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;27.93,24.10 348.88,24.10\&#34; id=\&#34;16\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;42.52,415.15 42.52,5.48\&#34; id=\&#34;17\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;115.46,415.15 115.46,5.48\&#34; id=\&#34;18\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;188.40,415.15 188.40,5.48\&#34; id=\&#34;19\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;261.35,415.15 261.35,5.48\&#34; id=\&#34;20\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;334.29,415.15 334.29,5.48\&#34; id=\&#34;21\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;24.10\&#34; width=\&#34;203.76\&#34; height=\&#34;39.94\&#34; id=\&#34;22\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;246.28\&#34; y=\&#34;24.10\&#34; width=\&#34;88.01\&#34; height=\&#34;39.94\&#34; id=\&#34;23\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;64.04\&#34; width=\&#34;215.14\&#34; height=\&#34;78.16\&#34; id=\&#34;24\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;257.66\&#34; y=\&#34;64.04\&#34; width=\&#34;76.63\&#34; height=\&#34;78.16\&#34; id=\&#34;25\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;142.20\&#34; width=\&#34;228.18\&#34; height=\&#34;72.60\&#34; id=\&#34;26\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;270.70\&#34; y=\&#34;142.20\&#34; width=\&#34;63.60\&#34; height=\&#34;72.60\&#34; id=\&#34;27\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;214.80\&#34; width=\&#34;231.67\&#34; height=\&#34;35.22\&#34; id=\&#34;28\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;274.18\&#34; y=\&#34;214.80\&#34; width=\&#34;60.11\&#34; height=\&#34;35.22\&#34; id=\&#34;29\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;250.03\&#34; width=\&#34;193.14\&#34; height=\&#34;58.30\&#34; id=\&#34;30\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;235.66\&#34; y=\&#34;250.03\&#34; width=\&#34;98.63\&#34; height=\&#34;58.30\&#34; id=\&#34;31\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;308.32\&#34; width=\&#34;264.08\&#34; height=\&#34;8.62\&#34; id=\&#34;32\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;306.60\&#34; y=\&#34;308.32\&#34; width=\&#34;27.70\&#34; height=\&#34;8.62\&#34; id=\&#34;33\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;316.95\&#34; width=\&#34;198.89\&#34; height=\&#34;44.50\&#34; id=\&#34;34\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;241.41\&#34; y=\&#34;316.95\&#34; width=\&#34;92.88\&#34; height=\&#34;44.50\&#34; id=\&#34;35\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;361.44\&#34; width=\&#34;167.84\&#34; height=\&#34;15.21\&#34; id=\&#34;36\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;210.35\&#34; y=\&#34;361.44\&#34; width=\&#34;123.94\&#34; height=\&#34;15.21\&#34; id=\&#34;37\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;42.52\&#34; y=\&#34;376.65\&#34; width=\&#34;118.37\&#34; height=\&#34;19.88\&#34; id=\&#34;38\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;160.89\&#34; y=\&#34;376.65\&#34; width=\&#34;173.41\&#34; height=\&#34;19.88\&#34; id=\&#34;39\&#34; clip-path=\&#34;url(#cl1_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl1_3\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;5.48\&#34; y=\&#34;399.75\&#34; id=\&#34;40\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;5.48\&#34; y=\&#34;306.64\&#34; id=\&#34;41\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.25&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;5.48\&#34; y=\&#34;213.53\&#34; id=\&#34;42\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.50&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;5.48\&#34; y=\&#34;120.43\&#34; id=\&#34;43\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.75&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;5.48\&#34; y=\&#34;27.32\&#34; id=\&#34;44\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;1.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;polyline points=\&#34;25.19,396.53 27.93,396.53\&#34; id=\&#34;45\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;25.19,303.42 27.93,303.42\&#34; id=\&#34;46\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;25.19,210.32 27.93,210.32\&#34; id=\&#34;47\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;25.19,117.21 27.93,117.21\&#34; id=\&#34;48\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;25.19,24.10 27.93,24.10\&#34; id=\&#34;49\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;42.52,417.89 42.52,415.15\&#34; id=\&#34;50\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;115.46,417.89 115.46,415.15\&#34; id=\&#34;51\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;188.40,417.89 188.40,415.15\&#34; id=\&#34;52\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;261.35,417.89 261.35,415.15\&#34; id=\&#34;53\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;334.29,417.89 334.29,415.15\&#34; id=\&#34;54\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;33.76\&#34; y=\&#34;426.52\&#34; id=\&#34;55\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;106.70\&#34; y=\&#34;426.52\&#34; id=\&#34;56\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.25&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;179.65\&#34; y=\&#34;426.52\&#34; id=\&#34;57\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.50&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;252.59\&#34; y=\&#34;426.52\&#34; id=\&#34;58\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.75&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;325.54\&#34; y=\&#34;426.52\&#34; id=\&#34;59\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;1.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;rect x=\&#34;360.22\&#34; y=\&#34;181.27\&#34; width=\&#34;66.30\&#34; height=\&#34;58.09\&#34; id=\&#34;60\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke=\&#34;none\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;365.89\&#34; y=\&#34;194.81\&#34; id=\&#34;61\&#34; font-size=\&#34;8.25pt\&#34; font-family=\&#34;Arial\&#34;&gt;origin&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;rect x=\&#34;365.89\&#34; y=\&#34;199.13\&#34; width=\&#34;17.28\&#34; height=\&#34;17.28\&#34; id=\&#34;62\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;#F2F2F2\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;rect x=\&#34;366.17\&#34; y=\&#34;199.42\&#34; width=\&#34;16.71\&#34; height=\&#34;16.71\&#34; id=\&#34;63\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;miter\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;rect x=\&#34;365.89\&#34; y=\&#34;216.41\&#34; width=\&#34;17.28\&#34; height=\&#34;17.28\&#34; id=\&#34;64\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;#F2F2F2\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;rect x=\&#34;366.17\&#34; y=\&#34;216.70\&#34; width=\&#34;16.71\&#34; height=\&#34;16.71\&#34; id=\&#34;65\&#34; clip-path=\&#34;url(#cl1_3)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;miter\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;385.33\&#34; y=\&#34;210.99\&#34; id=\&#34;66\&#34; font-size=\&#34;6.60pt\&#34; font-family=\&#34;Arial\&#34;&gt;foreigner&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl1_3)\&#34;&gt;\n      &lt;text x=\&#34;385.33\&#34; y=\&#34;228.27\&#34; id=\&#34;67\&#34; font-size=\&#34;6.60pt\&#34; font-family=\&#34;Arial\&#34;&gt;swiss&lt;\/text&gt;\n    &lt;\/g&gt;\n  &lt;\/g&gt;\n&lt;\/svg&gt;\n&#34;,&#34;code&#34;:&#34;document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;22&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Managers&lt;\/em&gt;&lt;br&gt;swiss 69.8%&lt;br&gt;(297 823 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;23&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Managers&lt;\/em&gt;&lt;br&gt;foreigner 30.2%&lt;br&gt;(128 641 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;24&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Professionals&lt;\/em&gt;&lt;br&gt;swiss 73.7%&lt;br&gt;(615 406 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;25&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Professionals&lt;\/em&gt;&lt;br&gt;foreigner 26.3%&lt;br&gt;(219 210 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;26&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Technicians and associate professionals&lt;\/em&gt;&lt;br&gt;swiss 78.2%&lt;br&gt;(606 274 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;27&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Technicians and associate professionals&lt;\/em&gt;&lt;br&gt;foreigner 21.8%&lt;br&gt;(168 977 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;28&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Clerical support workers&lt;\/em&gt;&lt;br&gt;swiss 79.4%&lt;br&gt;(298 635 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;29&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Clerical support workers&lt;\/em&gt;&lt;br&gt;foreigner 20.6%&lt;br&gt;(77 485 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;30&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Service and sales workers&lt;\/em&gt;&lt;br&gt;swiss 66.2%&lt;br&gt;(412 074 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;31&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Service and sales workers&lt;\/em&gt;&lt;br&gt;foreigner 33.8%&lt;br&gt;(210 440 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;32&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Skilled agricultural workers&lt;\/em&gt;&lt;br&gt;swiss 90.5%&lt;br&gt;(83 336 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;33&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Skilled agricultural workers&lt;\/em&gt;&lt;br&gt;foreigner 9.5%&lt;br&gt;(8 740 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;34&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Craft and related trades workers&lt;\/em&gt;&lt;br&gt;swiss 68.2%&lt;br&gt;(323 894 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;35&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Craft and related trades workers&lt;\/em&gt;&lt;br&gt;foreigner 31.8%&lt;br&gt;(151 257 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;36&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Machine operators and assemblers&lt;\/em&gt;&lt;br&gt;swiss 57.5%&lt;br&gt;(93 424 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;37&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Machine operators and assemblers&lt;\/em&gt;&lt;br&gt;foreigner 42.5%&lt;br&gt;(68 991 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;38&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Elementary occupations&lt;\/em&gt;&lt;br&gt;swiss 40.6%&lt;br&gt;(86 101 jobs)&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;39&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Elementary occupations&lt;\/em&gt;&lt;br&gt;foreigner 59.4%&lt;br&gt;(126 136 jobs)&#39;);;document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;22&#39;).setAttribute(&#39;data-id&#39;,&#39;swissManagers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;23&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerManagers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;24&#39;).setAttribute(&#39;data-id&#39;,&#39;swissProfessionals&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;25&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerProfessionals&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;26&#39;).setAttribute(&#39;data-id&#39;,&#39;swissTechnicians and associate professionals&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;27&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerTechnicians and associate professionals&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;28&#39;).setAttribute(&#39;data-id&#39;,&#39;swissClerical support workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;29&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerClerical support workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;30&#39;).setAttribute(&#39;data-id&#39;,&#39;swissService and sales workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;31&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerService and sales workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;32&#39;).setAttribute(&#39;data-id&#39;,&#39;swissSkilled agricultural workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;33&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerSkilled agricultural workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;34&#39;).setAttribute(&#39;data-id&#39;,&#39;swissCraft and related trades workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;35&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerCraft and related trades workers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;36&#39;).setAttribute(&#39;data-id&#39;,&#39;swissMachine operators and assemblers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;37&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerMachine operators and assemblers&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;38&#39;).setAttribute(&#39;data-id&#39;,&#39;swissElementary occupations&#39;);document.querySelectorAll(&#39;#svg_1&#39;)[0].getElementById(&#39;39&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerElementary occupations&#39;);&#34;,&#34;tooltip_extra_css&#34;:&#34;padding:5px;background:black;color:white;border-radius:2px 2px 2px 2px;&#34;,&#34;hover_css&#34;:&#34;fill:orange;&#34;,&#34;selected_css&#34;:&#34;fill:orange;&#34;,&#34;tooltip_opacity&#34;:0.9,&#34;tooltip_offx&#34;:10,&#34;tooltip_offy&#34;:0,&#34;zoom_max&#34;:1,&#34;selection_type&#34;:&#34;multiple&#34;,&#34;ratio&#34;:1,&#34;flexdashboard&#34;:false,&#34;width&#34;:0.7},&#34;evals&#34;:[],&#34;jsHooks&#34;:[]}&lt;/script&gt;
&lt;p&gt;Et voilà, a plain looking but functional interactive proportional stacked bar chart&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;prettify&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Prettify&lt;/h2&gt;
&lt;div id=&#34;direct-labelling&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;Direct labelling&lt;/h3&gt;
&lt;p&gt;I labelled the jobs directly in the chart’s bars. In this case, because some bars are narrow I scaled the labels according the bars’ height. I added also the % values.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# job labels tibble
labels &amp;lt;- data %&amp;gt;% 
  filter(origin == &amp;quot;swiss&amp;quot;) %&amp;gt;%
  mutate(y = ymax - 0.01, yRange = (ymax - ymin)* 100) %&amp;gt;%
  select(group, xmin, y, yRange) %&amp;gt;% 
  ungroup()

value_labels &amp;lt;- data %&amp;gt;% 
  select(group, origin, xmin, xmax, ymax, share) %&amp;gt;%
  mutate(
    x = ifelse(origin == &amp;quot;swiss&amp;quot;, xmax, xmin),
    y = ymax - 0.005,
    label = paste0(round(share * 100), &amp;quot;%&amp;quot;),
    hjust = ifelse(origin == &amp;quot;swiss&amp;quot;, 1.05, -0.25)
  ) 
  

gp2 &amp;lt;- gp + 
  geom_text(
    data = labels,
    aes(x = xmin + 0.008, y = y, label = as.character(group), size = yRange),
    hjust = 0, vjust = 1, colour = &amp;quot;white&amp;quot;
  ) +
  geom_text(
    data = value_labels,
    aes(x = x, y = y, label = label, hjust = hjust),
    vjust = 1, size = 2.7, alpha = 0.7, colour = &amp;quot;white&amp;quot;
  ) +
  scale_size_continuous(range = c(2.2, 4.5), guide = F)

ggiraph({print(gp2)})&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&#34;htmlwidget-2&#34; style=&#34;width:70%;height:auto;&#34; class=&#34;ggiraph html-widget&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/json&#34; data-for=&#34;htmlwidget-2&#34;&gt;{&#34;x&#34;:{&#34;html&#34;:&#34;&lt;?xml version=\&#34;1.0\&#34; encoding=\&#34;UTF-8\&#34;?&gt;\n&lt;svg xmlns=\&#34;http://www.w3.org/2000/svg\&#34; xmlns:xlink=\&#34;http://www.w3.org/1999/xlink\&#34; id=\&#34;svg_2\&#34; viewBox=\&#34;0 0 432.00 432.00\&#34;&gt;\n  &lt;g&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl2_0\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;432.00\&#34; width=\&#34;0.00\&#34; height=\&#34;0.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34; id=\&#34;1\&#34; clip-path=\&#34;url(#cl2_0)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.75\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl2_1\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34; id=\&#34;2\&#34; clip-path=\&#34;url(#cl2_1)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl2_2\&#34;&gt;\n        &lt;rect x=\&#34;43.81\&#34; y=\&#34;5.48\&#34; width=\&#34;305.07\&#34; height=\&#34;396.18\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;43.81\&#34; y=\&#34;5.48\&#34; width=\&#34;305.07\&#34; height=\&#34;396.18\&#34; id=\&#34;3\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#EBEBEB\&#34; fill-opacity=\&#34;1\&#34; stroke=\&#34;none\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,338.63 348.88,338.63\&#34; id=\&#34;4\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,248.59 348.88,248.59\&#34; id=\&#34;5\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,158.55 348.88,158.55\&#34; id=\&#34;6\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,68.51 348.88,68.51\&#34; id=\&#34;7\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;92.35,401.66 92.35,5.48\&#34; id=\&#34;8\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;161.68,401.66 161.68,5.48\&#34; id=\&#34;9\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;231.01,401.66 231.01,5.48\&#34; id=\&#34;10\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;300.35,401.66 300.35,5.48\&#34; id=\&#34;11\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,383.65 348.88,383.65\&#34; id=\&#34;12\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,293.61 348.88,293.61\&#34; id=\&#34;13\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,203.57 348.88,203.57\&#34; id=\&#34;14\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,113.53 348.88,113.53\&#34; id=\&#34;15\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;43.81,23.49 348.88,23.49\&#34; id=\&#34;16\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;57.68,401.66 57.68,5.48\&#34; id=\&#34;17\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;127.01,401.66 127.01,5.48\&#34; id=\&#34;18\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;196.35,401.66 196.35,5.48\&#34; id=\&#34;19\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;265.68,401.66 265.68,5.48\&#34; id=\&#34;20\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;335.02,401.66 335.02,5.48\&#34; id=\&#34;21\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;23.49\&#34; width=\&#34;193.68\&#34; height=\&#34;38.62\&#34; id=\&#34;22\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;251.36\&#34; y=\&#34;23.49\&#34; width=\&#34;83.66\&#34; height=\&#34;38.62\&#34; id=\&#34;23\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;62.11\&#34; width=\&#34;204.49\&#34; height=\&#34;75.59\&#34; id=\&#34;24\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;262.17\&#34; y=\&#34;62.11\&#34; width=\&#34;72.84\&#34; height=\&#34;75.59\&#34; id=\&#34;25\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;137.70\&#34; width=\&#34;216.89\&#34; height=\&#34;70.21\&#34; id=\&#34;26\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;274.57\&#34; y=\&#34;137.70\&#34; width=\&#34;60.45\&#34; height=\&#34;70.21\&#34; id=\&#34;27\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;207.91\&#34; width=\&#34;220.20\&#34; height=\&#34;34.06\&#34; id=\&#34;28\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;277.88\&#34; y=\&#34;207.91\&#34; width=\&#34;57.13\&#34; height=\&#34;34.06\&#34; id=\&#34;29\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;241.97\&#34; width=\&#34;183.58\&#34; height=\&#34;56.38\&#34; id=\&#34;30\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;241.26\&#34; y=\&#34;241.97\&#34; width=\&#34;93.75\&#34; height=\&#34;56.38\&#34; id=\&#34;31\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;298.35\&#34; width=\&#34;251.01\&#34; height=\&#34;8.34\&#34; id=\&#34;32\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;308.69\&#34; y=\&#34;298.35\&#34; width=\&#34;26.33\&#34; height=\&#34;8.34\&#34; id=\&#34;33\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;306.69\&#34; width=\&#34;189.05\&#34; height=\&#34;43.03\&#34; id=\&#34;34\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;246.73\&#34; y=\&#34;306.69\&#34; width=\&#34;88.29\&#34; height=\&#34;43.03\&#34; id=\&#34;35\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;349.72\&#34; width=\&#34;159.53\&#34; height=\&#34;14.71\&#34; id=\&#34;36\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;217.21\&#34; y=\&#34;349.72\&#34; width=\&#34;117.81\&#34; height=\&#34;14.71\&#34; id=\&#34;37\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;57.68\&#34; y=\&#34;364.43\&#34; width=\&#34;112.51\&#34; height=\&#34;19.22\&#34; id=\&#34;38\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;170.19\&#34; y=\&#34;364.43\&#34; width=\&#34;164.83\&#34; height=\&#34;19.22\&#34; id=\&#34;39\&#34; clip-path=\&#34;url(#cl2_2)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;34.96\&#34; id=\&#34;40\&#34; font-size=\&#34;7.99pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Managers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;75.02\&#34; id=\&#34;41\&#34; font-size=\&#34;9.60pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Professionals&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;150.61\&#34; id=\&#34;42\&#34; font-size=\&#34;9.40pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Technicians and associate professionals&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;218.66\&#34; id=\&#34;43\&#34; font-size=\&#34;7.73pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Clerical support workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;254.17\&#34; id=\&#34;44\&#34; font-size=\&#34;8.84pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Service and sales workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;306.25\&#34; id=\&#34;45\&#34; font-size=\&#34;4.69pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Skilled agricultural workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;318.16\&#34; id=\&#34;46\&#34; font-size=\&#34;8.22pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Craft and related trades workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;359.05\&#34; id=\&#34;47\&#34; font-size=\&#34;6.21pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Machine operators and assemblers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;59.90\&#34; y=\&#34;374.47\&#34; id=\&#34;48\&#34; font-size=\&#34;6.67pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Elementary occupations&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;234.55\&#34; y=\&#34;31.02\&#34; id=\&#34;49\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;70%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;255.36\&#34; y=\&#34;31.02\&#34; id=\&#34;50\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;30%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;245.36\&#34; y=\&#34;69.65\&#34; id=\&#34;51\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;74%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;266.18\&#34; y=\&#34;69.65\&#34; id=\&#34;52\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;26%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;257.75\&#34; y=\&#34;145.23\&#34; id=\&#34;53\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;78%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;278.57\&#34; y=\&#34;145.23\&#34; id=\&#34;54\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;22%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;261.07\&#34; y=\&#34;215.44\&#34; id=\&#34;55\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;79%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;281.88\&#34; y=\&#34;215.44\&#34; id=\&#34;56\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;21%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;224.45\&#34; y=\&#34;249.51\&#34; id=\&#34;57\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;66%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;245.27\&#34; y=\&#34;249.51\&#34; id=\&#34;58\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;34%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;291.88\&#34; y=\&#34;305.88\&#34; id=\&#34;59\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;91%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;311.58\&#34; y=\&#34;305.88\&#34; id=\&#34;60\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;9%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;229.92\&#34; y=\&#34;314.22\&#34; id=\&#34;61\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;68%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;250.73\&#34; y=\&#34;314.22\&#34; id=\&#34;62\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;32%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;200.40\&#34; y=\&#34;357.25\&#34; id=\&#34;63\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;58%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;221.21\&#34; y=\&#34;357.25\&#34; id=\&#34;64\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;42%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;153.38\&#34; y=\&#34;371.96\&#34; id=\&#34;65\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;41%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_2)\&#34;&gt;\n      &lt;text x=\&#34;174.19\&#34; y=\&#34;371.96\&#34; id=\&#34;66\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;59%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl2_3\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;21.37\&#34; y=\&#34;386.87\&#34; id=\&#34;67\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;21.37\&#34; y=\&#34;296.83\&#34; id=\&#34;68\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.25&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;21.37\&#34; y=\&#34;206.79\&#34; id=\&#34;69\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.50&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;21.37\&#34; y=\&#34;116.75\&#34; id=\&#34;70\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.75&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;21.37\&#34; y=\&#34;26.71\&#34; id=\&#34;71\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;1.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;polyline points=\&#34;41.07,383.65 43.81,383.65\&#34; id=\&#34;72\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;41.07,293.61 43.81,293.61\&#34; id=\&#34;73\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;41.07,203.57 43.81,203.57\&#34; id=\&#34;74\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;41.07,113.53 43.81,113.53\&#34; id=\&#34;75\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;41.07,23.49 43.81,23.49\&#34; id=\&#34;76\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;57.68,404.40 57.68,401.66\&#34; id=\&#34;77\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;127.01,404.40 127.01,401.66\&#34; id=\&#34;78\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;196.35,404.40 196.35,401.66\&#34; id=\&#34;79\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;265.68,404.40 265.68,401.66\&#34; id=\&#34;80\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;335.02,404.40 335.02,401.66\&#34; id=\&#34;81\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#333333\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;48.92\&#34; y=\&#34;413.03\&#34; id=\&#34;82\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;118.26\&#34; y=\&#34;413.03\&#34; id=\&#34;83\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.25&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;187.59\&#34; y=\&#34;413.03\&#34; id=\&#34;84\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.50&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;256.92\&#34; y=\&#34;413.03\&#34; id=\&#34;85\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0.75&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;326.26\&#34; y=\&#34;413.03\&#34; id=\&#34;86\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;1.00&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;164.70\&#34; y=\&#34;426.38\&#34; id=\&#34;87\&#34; font-size=\&#34;8.25pt\&#34; font-family=\&#34;Arial\&#34;&gt;xmin + 0.008&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text transform=\&#34;translate(13.35,206.32) rotate(-90)\&#34; id=\&#34;88\&#34; font-size=\&#34;8.25pt\&#34; font-family=\&#34;Arial\&#34;&gt;y&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;rect x=\&#34;360.22\&#34; y=\&#34;174.52\&#34; width=\&#34;66.30\&#34; height=\&#34;58.09\&#34; id=\&#34;89\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke=\&#34;none\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;365.89\&#34; y=\&#34;188.07\&#34; id=\&#34;90\&#34; font-size=\&#34;8.25pt\&#34; font-family=\&#34;Arial\&#34;&gt;origin&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;rect x=\&#34;365.89\&#34; y=\&#34;192.39\&#34; width=\&#34;17.28\&#34; height=\&#34;17.28\&#34; id=\&#34;91\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;#F2F2F2\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;rect x=\&#34;366.17\&#34; y=\&#34;192.67\&#34; width=\&#34;16.71\&#34; height=\&#34;16.71\&#34; id=\&#34;92\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;#F8766D\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;miter\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;rect x=\&#34;365.89\&#34; y=\&#34;209.67\&#34; width=\&#34;17.28\&#34; height=\&#34;17.28\&#34; id=\&#34;93\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;#F2F2F2\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;rect x=\&#34;366.17\&#34; y=\&#34;209.95\&#34; width=\&#34;16.71\&#34; height=\&#34;16.71\&#34; id=\&#34;94\&#34; clip-path=\&#34;url(#cl2_3)\&#34; fill=\&#34;#00BFC4\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;miter\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;385.33\&#34; y=\&#34;204.24\&#34; id=\&#34;95\&#34; font-size=\&#34;6.60pt\&#34; font-family=\&#34;Arial\&#34;&gt;foreigner&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl2_3)\&#34;&gt;\n      &lt;text x=\&#34;385.33\&#34; y=\&#34;221.52\&#34; id=\&#34;96\&#34; font-size=\&#34;6.60pt\&#34; font-family=\&#34;Arial\&#34;&gt;swiss&lt;\/text&gt;\n    &lt;\/g&gt;\n  &lt;\/g&gt;\n&lt;\/svg&gt;\n&#34;,&#34;code&#34;:&#34;document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;22&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Managers&lt;\/em&gt;&lt;br&gt;swiss 69.8%&lt;br&gt;(297 823 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;23&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Managers&lt;\/em&gt;&lt;br&gt;foreigner 30.2%&lt;br&gt;(128 641 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;24&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Professionals&lt;\/em&gt;&lt;br&gt;swiss 73.7%&lt;br&gt;(615 406 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;25&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Professionals&lt;\/em&gt;&lt;br&gt;foreigner 26.3%&lt;br&gt;(219 210 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;26&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Technicians and associate professionals&lt;\/em&gt;&lt;br&gt;swiss 78.2%&lt;br&gt;(606 274 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;27&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Technicians and associate professionals&lt;\/em&gt;&lt;br&gt;foreigner 21.8%&lt;br&gt;(168 977 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;28&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Clerical support workers&lt;\/em&gt;&lt;br&gt;swiss 79.4%&lt;br&gt;(298 635 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;29&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Clerical support workers&lt;\/em&gt;&lt;br&gt;foreigner 20.6%&lt;br&gt;(77 485 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;30&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Service and sales workers&lt;\/em&gt;&lt;br&gt;swiss 66.2%&lt;br&gt;(412 074 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;31&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Service and sales workers&lt;\/em&gt;&lt;br&gt;foreigner 33.8%&lt;br&gt;(210 440 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;32&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Skilled agricultural workers&lt;\/em&gt;&lt;br&gt;swiss 90.5%&lt;br&gt;(83 336 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;33&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Skilled agricultural workers&lt;\/em&gt;&lt;br&gt;foreigner 9.5%&lt;br&gt;(8 740 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;34&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Craft and related trades workers&lt;\/em&gt;&lt;br&gt;swiss 68.2%&lt;br&gt;(323 894 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;35&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Craft and related trades workers&lt;\/em&gt;&lt;br&gt;foreigner 31.8%&lt;br&gt;(151 257 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;36&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Machine operators and assemblers&lt;\/em&gt;&lt;br&gt;swiss 57.5%&lt;br&gt;(93 424 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;37&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Machine operators and assemblers&lt;\/em&gt;&lt;br&gt;foreigner 42.5%&lt;br&gt;(68 991 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;38&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Elementary occupations&lt;\/em&gt;&lt;br&gt;swiss 40.6%&lt;br&gt;(86 101 jobs)&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;39&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Elementary occupations&lt;\/em&gt;&lt;br&gt;foreigner 59.4%&lt;br&gt;(126 136 jobs)&#39;);;document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;22&#39;).setAttribute(&#39;data-id&#39;,&#39;swissManagers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;23&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerManagers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;24&#39;).setAttribute(&#39;data-id&#39;,&#39;swissProfessionals&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;25&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerProfessionals&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;26&#39;).setAttribute(&#39;data-id&#39;,&#39;swissTechnicians and associate professionals&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;27&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerTechnicians and associate professionals&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;28&#39;).setAttribute(&#39;data-id&#39;,&#39;swissClerical support workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;29&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerClerical support workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;30&#39;).setAttribute(&#39;data-id&#39;,&#39;swissService and sales workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;31&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerService and sales workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;32&#39;).setAttribute(&#39;data-id&#39;,&#39;swissSkilled agricultural workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;33&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerSkilled agricultural workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;34&#39;).setAttribute(&#39;data-id&#39;,&#39;swissCraft and related trades workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;35&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerCraft and related trades workers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;36&#39;).setAttribute(&#39;data-id&#39;,&#39;swissMachine operators and assemblers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;37&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerMachine operators and assemblers&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;38&#39;).setAttribute(&#39;data-id&#39;,&#39;swissElementary occupations&#39;);document.querySelectorAll(&#39;#svg_2&#39;)[0].getElementById(&#39;39&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerElementary occupations&#39;);&#34;,&#34;tooltip_extra_css&#34;:&#34;padding:5px;background:black;color:white;border-radius:2px 2px 2px 2px;&#34;,&#34;hover_css&#34;:&#34;fill:orange;&#34;,&#34;selected_css&#34;:&#34;fill:orange;&#34;,&#34;tooltip_opacity&#34;:0.9,&#34;tooltip_offx&#34;:10,&#34;tooltip_offy&#34;:0,&#34;zoom_max&#34;:1,&#34;selection_type&#34;:&#34;multiple&#34;,&#34;ratio&#34;:1,&#34;flexdashboard&#34;:false,&#34;width&#34;:0.7},&#34;evals&#34;:[],&#34;jsHooks&#34;:[]}&lt;/script&gt;
&lt;/div&gt;
&lt;div id=&#34;theming&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;Theming&lt;/h3&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;gp3 &amp;lt;- gp2 +
  theme_minimal() +
  scale_x_continuous(
    position = &amp;quot;top&amp;quot;, expand = c(0.01, 0.01), 
    labels = scales::percent, breaks = scales::pretty_breaks(n = 4)) +
  scale_y_continuous(
    expand = c(0,0), limits = c(0, 1.02)
  ) +
  scale_fill_manual(
    values = c(&amp;#39;#4c6570&amp;#39;, &amp;#39;#b15953&amp;#39;)
  ) +
  theme(
    axis.line.x = element_blank(),
    axis.text.y = element_blank(),
    axis.title = element_blank(),
    legend.position = &amp;quot;none&amp;quot;
  )
ggiraph({print(gp3)}, width = 0.9)&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&#34;htmlwidget-3&#34; style=&#34;width:70%;height:auto;&#34; class=&#34;ggiraph html-widget&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/json&#34; data-for=&#34;htmlwidget-3&#34;&gt;{&#34;x&#34;:{&#34;html&#34;:&#34;&lt;?xml version=\&#34;1.0\&#34; encoding=\&#34;UTF-8\&#34;?&gt;\n&lt;svg xmlns=\&#34;http://www.w3.org/2000/svg\&#34; xmlns:xlink=\&#34;http://www.w3.org/1999/xlink\&#34; id=\&#34;svg_3\&#34; viewBox=\&#34;0 0 432.00 432.00\&#34;&gt;\n  &lt;g&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl3_0\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;432.00\&#34; width=\&#34;0.00\&#34; height=\&#34;0.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34; id=\&#34;1\&#34; clip-path=\&#34;url(#cl3_0)\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.75\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;round\&#34;/&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl3_1\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl3_2\&#34;&gt;\n        &lt;rect x=\&#34;8.22\&#34; y=\&#34;16.85\&#34; width=\&#34;418.30\&#34; height=\&#34;409.67\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;polyline points=\&#34;8.22,376.32 426.52,376.32\&#34; id=\&#34;2\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,275.91 426.52,275.91\&#34; id=\&#34;3\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,175.50 426.52,175.50\&#34; id=\&#34;4\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,75.09 426.52,75.09\&#34; id=\&#34;5\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;56.48,426.52 56.48,16.85\&#34; id=\&#34;6\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;136.93,426.52 136.93,16.85\&#34; id=\&#34;7\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;217.37,426.52 217.37,16.85\&#34; id=\&#34;8\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;297.81,426.52 297.81,16.85\&#34; id=\&#34;9\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;378.26,426.52 378.26,16.85\&#34; id=\&#34;10\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;0.533489\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,426.52 426.52,426.52\&#34; id=\&#34;11\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,326.11 426.52,326.11\&#34; id=\&#34;12\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,225.70 426.52,225.70\&#34; id=\&#34;13\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,125.29 426.52,125.29\&#34; id=\&#34;14\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;8.22,24.88 426.52,24.88\&#34; id=\&#34;15\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;16.26,426.52 16.26,16.85\&#34; id=\&#34;16\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;96.71,426.52 96.71,16.85\&#34; id=\&#34;17\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;177.15,426.52 177.15,16.85\&#34; id=\&#34;18\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;257.59,426.52 257.59,16.85\&#34; id=\&#34;19\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;338.03,426.52 338.03,16.85\&#34; id=\&#34;20\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;polyline points=\&#34;418.48,426.52 418.48,16.85\&#34; id=\&#34;21\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;none\&#34; stroke-width=\&#34;1.06698\&#34; stroke=\&#34;#EBEBEB\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;24.88\&#34; width=\&#34;280.89\&#34; height=\&#34;43.07\&#34; id=\&#34;22\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;297.15\&#34; y=\&#34;24.88\&#34; width=\&#34;121.33\&#34; height=\&#34;43.07\&#34; id=\&#34;23\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;67.95\&#34; width=\&#34;296.57\&#34; height=\&#34;84.29\&#34; id=\&#34;24\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;312.84\&#34; y=\&#34;67.95\&#34; width=\&#34;105.64\&#34; height=\&#34;84.29\&#34; id=\&#34;25\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;152.24\&#34; width=\&#34;314.54\&#34; height=\&#34;78.30\&#34; id=\&#34;26\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;330.81\&#34; y=\&#34;152.24\&#34; width=\&#34;87.67\&#34; height=\&#34;78.30\&#34; id=\&#34;27\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;230.54\&#34; width=\&#34;319.35\&#34; height=\&#34;37.99\&#34; id=\&#34;28\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;335.62\&#34; y=\&#34;230.54\&#34; width=\&#34;82.86\&#34; height=\&#34;37.99\&#34; id=\&#34;29\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;268.53\&#34; width=\&#34;266.25\&#34; height=\&#34;62.87\&#34; id=\&#34;30\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;282.51\&#34; y=\&#34;268.53\&#34; width=\&#34;135.97\&#34; height=\&#34;62.87\&#34; id=\&#34;31\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;331.40\&#34; width=\&#34;364.03\&#34; height=\&#34;9.30\&#34; id=\&#34;32\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;380.30\&#34; y=\&#34;331.40\&#34; width=\&#34;38.18\&#34; height=\&#34;9.30\&#34; id=\&#34;33\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;340.70\&#34; width=\&#34;274.17\&#34; height=\&#34;47.99\&#34; id=\&#34;34\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;290.44\&#34; y=\&#34;340.70\&#34; width=\&#34;128.04\&#34; height=\&#34;47.99\&#34; id=\&#34;35\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;388.68\&#34; width=\&#34;231.36\&#34; height=\&#34;16.40\&#34; id=\&#34;36\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;247.62\&#34; y=\&#34;388.68\&#34; width=\&#34;170.85\&#34; height=\&#34;16.40\&#34; id=\&#34;37\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;16.26\&#34; y=\&#34;405.09\&#34; width=\&#34;163.17\&#34; height=\&#34;21.43\&#34; id=\&#34;38\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#B15953\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;rect x=\&#34;179.43\&#34; y=\&#34;405.09\&#34; width=\&#34;239.04\&#34; height=\&#34;21.43\&#34; id=\&#34;39\&#34; clip-path=\&#34;url(#cl3_2)\&#34; fill=\&#34;#4C6570\&#34; fill-opacity=\&#34;1\&#34; stroke-width=\&#34;0.426791\&#34; stroke=\&#34;#FFFFFF\&#34; stroke-opacity=\&#34;1\&#34; stroke-linejoin=\&#34;round\&#34; stroke-linecap=\&#34;butt\&#34;/&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;36.77\&#34; id=\&#34;40\&#34; font-size=\&#34;7.99pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Managers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;81.28\&#34; id=\&#34;41\&#34; font-size=\&#34;9.60pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Professionals&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;165.57\&#34; id=\&#34;42\&#34; font-size=\&#34;9.40pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Technicians and associate professionals&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;241.71\&#34; id=\&#34;43\&#34; font-size=\&#34;7.73pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Clerical support workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;281.14\&#34; id=\&#34;44\&#34; font-size=\&#34;8.84pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Service and sales workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;339.71\&#34; id=\&#34;45\&#34; font-size=\&#34;4.69pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Skilled agricultural workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;352.59\&#34; id=\&#34;46\&#34; font-size=\&#34;8.22pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Craft and related trades workers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;398.43\&#34; id=\&#34;47\&#34; font-size=\&#34;6.21pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Machine operators and assemblers&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;19.48\&#34; y=\&#34;415.54\&#34; id=\&#34;48\&#34; font-size=\&#34;6.67pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;Elementary occupations&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;280.34\&#34; y=\&#34;32.62\&#34; id=\&#34;49\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;70%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;301.15\&#34; y=\&#34;32.62\&#34; id=\&#34;50\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;30%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;296.02\&#34; y=\&#34;75.69\&#34; id=\&#34;51\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;74%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;316.84\&#34; y=\&#34;75.69\&#34; id=\&#34;52\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;26%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;314.00\&#34; y=\&#34;159.99\&#34; id=\&#34;53\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;78%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;334.81\&#34; y=\&#34;159.99\&#34; id=\&#34;54\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;22%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;318.80\&#34; y=\&#34;238.28\&#34; id=\&#34;55\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;79%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;339.62\&#34; y=\&#34;238.28\&#34; id=\&#34;56\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;21%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;265.70\&#34; y=\&#34;276.27\&#34; id=\&#34;57\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;66%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;286.51\&#34; y=\&#34;276.27\&#34; id=\&#34;58\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;34%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;363.48\&#34; y=\&#34;339.14\&#34; id=\&#34;59\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;91%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;383.19\&#34; y=\&#34;339.14\&#34; id=\&#34;60\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;9%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;273.63\&#34; y=\&#34;348.44\&#34; id=\&#34;61\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;68%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;294.44\&#34; y=\&#34;348.44\&#34; id=\&#34;62\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;32%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;230.81\&#34; y=\&#34;396.43\&#34; id=\&#34;63\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;58%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;251.63\&#34; y=\&#34;396.43\&#34; id=\&#34;64\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;42%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;162.62\&#34; y=\&#34;412.83\&#34; id=\&#34;65\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;41%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_2)\&#34;&gt;\n      &lt;text x=\&#34;183.44\&#34; y=\&#34;412.83\&#34; id=\&#34;66\&#34; font-size=\&#34;5.76pt\&#34; fill=\&#34;#FFFFFF\&#34; fill-opacity=\&#34;0.7\&#34; font-family=\&#34;Arial\&#34;&gt;59%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;defs&gt;\n      &lt;clipPath id=\&#34;cl3_3\&#34;&gt;\n        &lt;rect x=\&#34;0.00\&#34; y=\&#34;0.00\&#34; width=\&#34;432.00\&#34; height=\&#34;432.00\&#34;/&gt;\n      &lt;\/clipPath&gt;\n    &lt;\/defs&gt;\n    &lt;g clip-path=\&#34;url(#cl3_3)\&#34;&gt;\n      &lt;text x=\&#34;9.76\&#34; y=\&#34;11.92\&#34; id=\&#34;67\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;0%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_3)\&#34;&gt;\n      &lt;text x=\&#34;87.70\&#34; y=\&#34;11.92\&#34; id=\&#34;68\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;20%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_3)\&#34;&gt;\n      &lt;text x=\&#34;168.14\&#34; y=\&#34;11.92\&#34; id=\&#34;69\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;40%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_3)\&#34;&gt;\n      &lt;text x=\&#34;248.58\&#34; y=\&#34;11.92\&#34; id=\&#34;70\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;60%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_3)\&#34;&gt;\n      &lt;text x=\&#34;329.03\&#34; y=\&#34;11.92\&#34; id=\&#34;71\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;80%&lt;\/text&gt;\n    &lt;\/g&gt;\n    &lt;g clip-path=\&#34;url(#cl3_3)\&#34;&gt;\n      &lt;text x=\&#34;406.97\&#34; y=\&#34;11.92\&#34; id=\&#34;72\&#34; font-size=\&#34;6.60pt\&#34; fill=\&#34;#4D4D4D\&#34; fill-opacity=\&#34;1\&#34; font-family=\&#34;Arial\&#34;&gt;100%&lt;\/text&gt;\n    &lt;\/g&gt;\n  &lt;\/g&gt;\n&lt;\/svg&gt;\n&#34;,&#34;code&#34;:&#34;document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;22&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Managers&lt;\/em&gt;&lt;br&gt;swiss 69.8%&lt;br&gt;(297 823 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;23&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Managers&lt;\/em&gt;&lt;br&gt;foreigner 30.2%&lt;br&gt;(128 641 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;24&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Professionals&lt;\/em&gt;&lt;br&gt;swiss 73.7%&lt;br&gt;(615 406 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;25&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Professionals&lt;\/em&gt;&lt;br&gt;foreigner 26.3%&lt;br&gt;(219 210 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;26&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Technicians and associate professionals&lt;\/em&gt;&lt;br&gt;swiss 78.2%&lt;br&gt;(606 274 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;27&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Technicians and associate professionals&lt;\/em&gt;&lt;br&gt;foreigner 21.8%&lt;br&gt;(168 977 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;28&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Clerical support workers&lt;\/em&gt;&lt;br&gt;swiss 79.4%&lt;br&gt;(298 635 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;29&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Clerical support workers&lt;\/em&gt;&lt;br&gt;foreigner 20.6%&lt;br&gt;(77 485 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;30&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Service and sales workers&lt;\/em&gt;&lt;br&gt;swiss 66.2%&lt;br&gt;(412 074 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;31&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Service and sales workers&lt;\/em&gt;&lt;br&gt;foreigner 33.8%&lt;br&gt;(210 440 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;32&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Skilled agricultural workers&lt;\/em&gt;&lt;br&gt;swiss 90.5%&lt;br&gt;(83 336 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;33&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Skilled agricultural workers&lt;\/em&gt;&lt;br&gt;foreigner 9.5%&lt;br&gt;(8 740 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;34&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Craft and related trades workers&lt;\/em&gt;&lt;br&gt;swiss 68.2%&lt;br&gt;(323 894 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;35&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Craft and related trades workers&lt;\/em&gt;&lt;br&gt;foreigner 31.8%&lt;br&gt;(151 257 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;36&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Machine operators and assemblers&lt;\/em&gt;&lt;br&gt;swiss 57.5%&lt;br&gt;(93 424 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;37&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Machine operators and assemblers&lt;\/em&gt;&lt;br&gt;foreigner 42.5%&lt;br&gt;(68 991 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;38&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Elementary occupations&lt;\/em&gt;&lt;br&gt;swiss 40.6%&lt;br&gt;(86 101 jobs)&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;39&#39;).setAttribute(&#39;title&#39;,&#39;&lt;em&gt;Elementary occupations&lt;\/em&gt;&lt;br&gt;foreigner 59.4%&lt;br&gt;(126 136 jobs)&#39;);;document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;22&#39;).setAttribute(&#39;data-id&#39;,&#39;swissManagers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;23&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerManagers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;24&#39;).setAttribute(&#39;data-id&#39;,&#39;swissProfessionals&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;25&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerProfessionals&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;26&#39;).setAttribute(&#39;data-id&#39;,&#39;swissTechnicians and associate professionals&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;27&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerTechnicians and associate professionals&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;28&#39;).setAttribute(&#39;data-id&#39;,&#39;swissClerical support workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;29&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerClerical support workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;30&#39;).setAttribute(&#39;data-id&#39;,&#39;swissService and sales workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;31&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerService and sales workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;32&#39;).setAttribute(&#39;data-id&#39;,&#39;swissSkilled agricultural workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;33&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerSkilled agricultural workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;34&#39;).setAttribute(&#39;data-id&#39;,&#39;swissCraft and related trades workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;35&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerCraft and related trades workers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;36&#39;).setAttribute(&#39;data-id&#39;,&#39;swissMachine operators and assemblers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;37&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerMachine operators and assemblers&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;38&#39;).setAttribute(&#39;data-id&#39;,&#39;swissElementary occupations&#39;);document.querySelectorAll(&#39;#svg_3&#39;)[0].getElementById(&#39;39&#39;).setAttribute(&#39;data-id&#39;,&#39;foreignerElementary occupations&#39;);&#34;,&#34;tooltip_extra_css&#34;:&#34;padding:5px;background:black;color:white;border-radius:2px 2px 2px 2px;&#34;,&#34;hover_css&#34;:&#34;fill:orange;&#34;,&#34;selected_css&#34;:&#34;fill:orange;&#34;,&#34;tooltip_opacity&#34;:0.9,&#34;tooltip_offx&#34;:10,&#34;tooltip_offy&#34;:0,&#34;zoom_max&#34;:1,&#34;selection_type&#34;:&#34;multiple&#34;,&#34;ratio&#34;:1,&#34;flexdashboard&#34;:false,&#34;width&#34;:0.9},&#34;evals&#34;:[],&#34;jsHooks&#34;:[]}&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
  </channel>
</rss>