title: Problem with missing values in Altair or Plotly choropleth map
body: <p>I have data for a few states in the US and others are Null. While creating the maps,  I would like to shade in the states with the missing value in the text but I am struggling to find the correct method. With my current code, I am unable to get the entire US map including the states with the Null value, and only the states with a certain assigned value pop up. I have also looked at previous questions posted and tried layering the maps but that gives me an error.
  <a href="https://i.stack.imgur.com/oTRI4.png" rel="nofollow noreferrer">here's how cc_df looks like</a></p>
  <p>Here's my code:</p>
  <pre class="lang-py prettyprint-override"><code># import the required library
  import numpy as np
  import pandas as pd
  import matplotlib.pyplot as plt# import seaborn library
  %matplotlib inline
  import altair as alt
  from vega_datasets import data
  
  # State database
  states_df = pd.read_csv(
      'https://www2.census.gov/geo/docs/reference/state.txt',
  # pipe seperated file
  sep=&quot;|&quot;,
  # FIPS are best as strings
  dtype='str',
  # rename columns
  header=0, names=['state_fips', 'state', 'state_name', 'StateENS'],
  # drop last column
  usecols=['state_fips', 'state_name', 'state']
  ).set_index('state')
  states_df['id'] = states_df['state_fips'].astype(int)
  
  # The data to map
  cc_df = pd.read_csv('hv_cwad.csv',
                      usecols=['state', 'CWAD'])
  cc_df = cc_df.groupby('state').mean()
  
  # Combine state database and our own data
  #cc_state_df = pd.merge(cc_df, states_df)
  cc_state_df = states_df.join(cc_df).reset_index()
  
  # %%
  # Create the map
  states = alt.topo_feature(data.us_10m.url, 'states')
  variable_list = ['CWAD']
  
  alt.Chart(states).mark_geoshape(stroke='lightgrey',
                                  strokeWidth=.5).encode(
      alt.Color(alt.repeat('row'), type='quantitative')
  ).transform_lookup(
      lookup='id',
      from_=alt.LookupData(cc_state_df, 'id', variable_list)
  ).properties(
      width=300,
      height=300
  ).project(
      type='albersUsa'
  ).repeat(
      row=variable_list
  ).resolve_scale(
      color='independent'
  )
  </code></pre>
  <p>The output looks like this:</p>
  <p><img src="https://i.stack.imgur.com/b18HQ.png" alt="output with the current code" /></p>