library(tmap)
tm_shape(World)+ 
  tm_polygons(
    fill = "#ffce00", # fill color
    col = "green",    # line color
    lwd = 1.5,        # line width
    lty = "dashed")   # line type
tm_shape(World)+ 
  tm_polygons(fill = "grey90") +   # constant fill color 
  tm_symbols(size = "pop_est",     # data variable, mapped to symbol size
             fill = "well_being",  # data variable, mapped to symbol fill color
             shape = "income_grp") # data variable, mapped to symbol shape

tm_shape(World)+
tm_polygons(fill = "HPI")
tm_shape(World)+ tm_polygons(
  fill = "HPI",
  fill.scale = tm_scale_intervals(
    style = "fisher",      # a method to specify the classes
    n = 7,                 # number of classes
    midpoint = 38,         # data value mapped to the middle palette color
    values = "pu_gn_div"   # color palette; 
                           # run cols4all::c4a_gui() to explore color palettes
  ))
tm_shape(World)+ tm_polygons(
  fill = "HPI",
  fill.scale = tm_scale_intervals(
   n = 6, # for n classes 
    style = "fixed",    
    breaks = c(0,10,20,30,40,50,60), # you need n+1 number of breaks
    values = "pu_gn_div"
  ))
tm_shape(World) +
  tm_polygons(
    fill = "HPI",
    fill.scale = tm_scale_intervals(
      breaks = c(0, 10, 20, 30, 40, 50, 60),
      values = "pu_gn_div",
      labels = c("0–10", "10–20", "20–30", "30–40", "40–50", "50–60")
    )
  )
tm_shape(World)+ 
  tm_polygons(
    fill = "HPI",
    fill.scale = tm_scale_continuous(
      limits = c(10, 60),
      values = "scico.hawaii"))
tm_shape(World) + 
  tm_polygons(
    fill = "economy",
    fill.scale = tm_scale_categorical())
ttmp()
tm_shape(metro) +
  tm_bubbles(size = "pop2020") +
  tm_basemap("Esri.WorldGrayCanvas")
tm_shape(World) + 
  tm_polygons(
    fill = "economy",
    fill.chart = tm_chart_bar())
ttmp()

tm_shape(World, crs = "+proj=eqearth") + 
  tm_polygons(
    fill = "HPI") +
  tm_layout(bg.color = "skyblue",
            earth_boundary = TRUE,
            frame = FALSE,
            space.color = "white")
tm_shape(World, crs = "+proj=eqearth") + 
  tm_polygons(
    fill = "HPI") +
  tm_layout(bg.color = "skyblue",
            earth_boundary = TRUE,
            frame = FALSE,
            space.color = "white")
ttmp()

tm_shape(World, 
         bbox = "FULL",
         crs = "+proj=ortho +lat_0=30 +lon_0=0") +
  tm_polygons() +
  tm_xlab("Longitudes") +
  tm_ylab("Latitudes")

tm_shape(World, 
         bbox = "FULL",
         crs = "+proj=ortho +lat_0=30 +lon_0=0") +
  tm_polygons() +
  tm_xlab("Longitudes") +
  tm_ylab("Latitudes")+ 
  tm_graticules(n.x = 20, n.y = 10, col = "black", lwd = 2, labels.show = FALSE) 

tm_shape(World, 
         bbox = "FULL",
         crs = "+proj=ortho +lat_0=30 +lon_0=0") +
  tm_polygons() +
  tm_xlab("Longitudes") +
  tm_ylab("Latitudes")+ 
  tm_graticules(n.x = 20, n.y = 10, col = "black", lwd = 2, labels.show = FALSE)+
  tm_style("natural")

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KYGBge3J9DQpsaWJyYXJ5KHRtYXApDQpgYGANCmBgYHtyfQ0KdG1fc2hhcGUoV29ybGQpKyANCiAgdG1fcG9seWdvbnMoDQogICAgZmlsbCA9ICIjZmZjZTAwIiwgIyBmaWxsIGNvbG9yDQogICAgY29sID0gImdyZWVuIiwgICAgIyBsaW5lIGNvbG9yDQogICAgbHdkID0gMS41LCAgICAgICAgIyBsaW5lIHdpZHRoDQogICAgbHR5ID0gImRhc2hlZCIpICAgIyBsaW5lIHR5cGUNCg0KYGBgDQpgYGB7cn0NCnRtX3NoYXBlKFdvcmxkKSsgDQogIHRtX3BvbHlnb25zKGZpbGwgPSAiZ3JleTkwIikgKyAgICMgY29uc3RhbnQgZmlsbCBjb2xvciANCiAgdG1fc3ltYm9scyhzaXplID0gInBvcF9lc3QiLCAgICAgIyBkYXRhIHZhcmlhYmxlLCBtYXBwZWQgdG8gc3ltYm9sIHNpemUNCiAgICAgICAgICAgICBmaWxsID0gIndlbGxfYmVpbmciLCAgIyBkYXRhIHZhcmlhYmxlLCBtYXBwZWQgdG8gc3ltYm9sIGZpbGwgY29sb3INCiAgICAgICAgICAgICBzaGFwZSA9ICJpbmNvbWVfZ3JwIikgIyBkYXRhIHZhcmlhYmxlLCBtYXBwZWQgdG8gc3ltYm9sIHNoYXBlDQoNCmBgYA0KYGBge3J9DQoNCnRtX3NoYXBlKFdvcmxkKSsNCnRtX3BvbHlnb25zKGZpbGwgPSAiSFBJIikNCmBgYA0KYGBge3J9DQp0bV9zaGFwZShXb3JsZCkrIHRtX3BvbHlnb25zKA0KICBmaWxsID0gIkhQSSIsDQogIGZpbGwuc2NhbGUgPSB0bV9zY2FsZV9pbnRlcnZhbHMoDQogICAgc3R5bGUgPSAiZmlzaGVyIiwgICAgICAjIGEgbWV0aG9kIHRvIHNwZWNpZnkgdGhlIGNsYXNzZXMNCiAgICBuID0gNywgICAgICAgICAgICAgICAgICMgbnVtYmVyIG9mIGNsYXNzZXMNCiAgICBtaWRwb2ludCA9IDM4LCAgICAgICAgICMgZGF0YSB2YWx1ZSBtYXBwZWQgdG8gdGhlIG1pZGRsZSBwYWxldHRlIGNvbG9yDQogICAgdmFsdWVzID0gInB1X2duX2RpdiIgICAjIGNvbG9yIHBhbGV0dGU7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBydW4gY29sczRhbGw6OmM0YV9ndWkoKSB0byBleHBsb3JlIGNvbG9yIHBhbGV0dGVzDQogICkpDQpgYGANCmBgYHtyfQ0KdG1fc2hhcGUoV29ybGQpKyB0bV9wb2x5Z29ucygNCiAgZmlsbCA9ICJIUEkiLA0KICBmaWxsLnNjYWxlID0gdG1fc2NhbGVfaW50ZXJ2YWxzKA0KICAgbiA9IDYsICMgZm9yIG4gY2xhc3NlcyANCiAgICBzdHlsZSA9ICJmaXhlZCIsICAgIA0KICAgIGJyZWFrcyA9IGMoMCwxMCwyMCwzMCw0MCw1MCw2MCksICMgeW91IG5lZWQgbisxIG51bWJlciBvZiBicmVha3MNCiAgICB2YWx1ZXMgPSAicHVfZ25fZGl2Ig0KICApKQ0KYGBgDQpgYGB7cn0NCnRtX3NoYXBlKFdvcmxkKSArDQogIHRtX3BvbHlnb25zKA0KICAgIGZpbGwgPSAiSFBJIiwNCiAgICBmaWxsLnNjYWxlID0gdG1fc2NhbGVfaW50ZXJ2YWxzKA0KICAgICAgYnJlYWtzID0gYygwLCAxMCwgMjAsIDMwLCA0MCwgNTAsIDYwKSwNCiAgICAgIHZhbHVlcyA9ICJwdV9nbl9kaXYiLA0KICAgICAgbGFiZWxzID0gYygiMOKAkzEwIiwgIjEw4oCTMjAiLCAiMjDigJMzMCIsICIzMOKAkzQwIiwgIjQw4oCTNTAiLCAiNTDigJM2MCIpDQogICAgKQ0KICApDQpgYGANCmBgYHtyfQ0KdG1fc2hhcGUoV29ybGQpKyANCiAgdG1fcG9seWdvbnMoDQogICAgZmlsbCA9ICJIUEkiLA0KICAgIGZpbGwuc2NhbGUgPSB0bV9zY2FsZV9jb250aW51b3VzKA0KICAgICAgbGltaXRzID0gYygxMCwgNjApLA0KICAgICAgdmFsdWVzID0gInNjaWNvLmhhd2FpaSIpKQ0KDQpgYGANCmBgYHtyfQ0KdG1fc2hhcGUoV29ybGQpICsgDQogIHRtX3BvbHlnb25zKA0KICAgIGZpbGwgPSAiZWNvbm9teSIsDQogICAgZmlsbC5zY2FsZSA9IHRtX3NjYWxlX2NhdGVnb3JpY2FsKCkpDQoNCmBgYA0KYGBge3J9DQp0dG1wKCkNCmBgYA0KYGBge3J9DQp0bV9zaGFwZShtZXRybykgKw0KICB0bV9idWJibGVzKHNpemUgPSAicG9wMjAyMCIpICsNCiAgdG1fYmFzZW1hcCgiRXNyaS5Xb3JsZEdyYXlDYW52YXMiKQ0KDQpgYGANCmBgYHtyfQ0KdG1fc2hhcGUoV29ybGQpICsgDQogIHRtX3BvbHlnb25zKA0KICAgIGZpbGwgPSAiZWNvbm9teSIsDQogICAgZmlsbC5jaGFydCA9IHRtX2NoYXJ0X2JhcigpKQ0KYGBgDQoNCmBgYHtyfQ0KdHRtcCgpDQpgYGANCmBgYHtyfQ0KdG1fc2hhcGUoV29ybGQsIGNycyA9ICIrcHJvaj1lcWVhcnRoIikgKyANCiAgdG1fcG9seWdvbnMoDQogICAgZmlsbCA9ICJIUEkiKSArDQogIHRtX2xheW91dChiZy5jb2xvciA9ICJza3libHVlIiwNCiAgICAgICAgICAgIGVhcnRoX2JvdW5kYXJ5ID0gVFJVRSwNCiAgICAgICAgICAgIGZyYW1lID0gRkFMU0UsDQogICAgICAgICAgICBzcGFjZS5jb2xvciA9ICJ3aGl0ZSIpDQpgYGANCg0KYGBge3J9DQp0bV9zaGFwZShXb3JsZCwgY3JzID0gIitwcm9qPWVxZWFydGgiKSArIA0KICB0bV9wb2x5Z29ucygNCiAgICBmaWxsID0gIkhQSSIpICsNCiAgdG1fbGF5b3V0KGJnLmNvbG9yID0gInNreWJsdWUiLA0KICAgICAgICAgICAgZWFydGhfYm91bmRhcnkgPSBUUlVFLA0KICAgICAgICAgICAgZnJhbWUgPSBGQUxTRSwNCiAgICAgICAgICAgIHNwYWNlLmNvbG9yID0gIndoaXRlIikNCmBgYA0KDQpgYGB7cn0NCnR0bXAoKQ0KYGBgDQpgYGB7cn0NCnRtX3NoYXBlKFdvcmxkLCANCiAgICAgICAgIGJib3ggPSAiRlVMTCIsDQogICAgICAgICBjcnMgPSAiK3Byb2o9b3J0aG8gK2xhdF8wPTMwICtsb25fMD0wIikgKw0KICB0bV9wb2x5Z29ucygpICsNCiAgdG1feGxhYigiTG9uZ2l0dWRlcyIpICsNCiAgdG1feWxhYigiTGF0aXR1ZGVzIikNCmBgYA0KYGBge3J9DQp0bV9zaGFwZShXb3JsZCwgDQogICAgICAgICBiYm94ID0gIkZVTEwiLA0KICAgICAgICAgY3JzID0gIitwcm9qPW9ydGhvICtsYXRfMD0zMCArbG9uXzA9MCIpICsNCiAgdG1fcG9seWdvbnMoKSArDQogIHRtX3hsYWIoIkxvbmdpdHVkZXMiKSArDQogIHRtX3lsYWIoIkxhdGl0dWRlcyIpKyANCiAgdG1fZ3JhdGljdWxlcyhuLnggPSAyMCwgbi55ID0gMTAsIGNvbCA9ICJibGFjayIsIGx3ZCA9IDIsIGxhYmVscy5zaG93ID0gRkFMU0UpIA0KYGBgDQpgYGB7cn0NCnRtX3NoYXBlKFdvcmxkLCANCiAgICAgICAgIGJib3ggPSAiRlVMTCIsDQogICAgICAgICBjcnMgPSAiK3Byb2o9b3J0aG8gK2xhdF8wPTMwICtsb25fMD0wIikgKw0KICB0bV9wb2x5Z29ucygpICsNCiAgdG1feGxhYigiTG9uZ2l0dWRlcyIpICsNCiAgdG1feWxhYigiTGF0aXR1ZGVzIikrIA0KICB0bV9ncmF0aWN1bGVzKG4ueCA9IDIwLCBuLnkgPSAxMCwgY29sID0gImJsYWNrIiwgbHdkID0gMiwgbGFiZWxzLnNob3cgPSBGQUxTRSkrDQogIHRtX3N0eWxlKCJuYXR1cmFsIikNCmBgYA0KDQo=