diff --git a/frontend/src/metabase/lib/colors.js b/frontend/src/metabase/lib/colors.js
index 99b1be83f2eb4faf8f6c8733e9a28a9b64da98b3..7011a3c7bed5cb3e8dd0483dfcbd8df8817b7aa4 100644
--- a/frontend/src/metabase/lib/colors.js
+++ b/frontend/src/metabase/lib/colors.js
@@ -168,17 +168,23 @@ const PREFERRED_COLORS = {
 
 const PREFERRED_COLORS_MAP = new Map();
 for (const [color, keys] of Object.entries(PREFERRED_COLORS)) {
+  // $FlowFixMe
   for (const key of keys) {
     PREFERRED_COLORS_MAP.set(key, color);
   }
 }
 
-function getPreferredColor(key) {
+type Key = string;
+
+function getPreferredColor(key: Key) {
   return PREFERRED_COLORS_MAP.get(key.toLowerCase());
 }
 
 // returns a mapping of deterministically assigned colors to keys, optionally with a fixed value mapping
-export function getColorsForValues(keys, existingAssignments = {}) {
+export function getColorsForValues(
+  keys: string[],
+  existingAssignments: ?{ [key: Key]: ColorString } = {},
+) {
   const all = Object.values(harmony);
   const primaryTier = all.slice(0, 8);
   const secondaryTier = all.slice(8);
@@ -192,6 +198,6 @@ export function getColorsForValues(keys, existingAssignments = {}) {
 }
 
 // conviennce for a single color (only use for visualizations with a single color)
-export function getColorForValue(key) {
+export function getColorForValue(key: Key) {
   return getColorsForValues([key])[key];
 }
diff --git a/frontend/src/metabase/qb/lib/actions.js b/frontend/src/metabase/qb/lib/actions.js
index 3dd68dff57209d52ddbaef561b707f77ae7203a8..749efce15d494f6e211efecf21bc3f1e3195ddfa 100644
--- a/frontend/src/metabase/qb/lib/actions.js
+++ b/frontend/src/metabase/qb/lib/actions.js
@@ -400,7 +400,7 @@ const getLineAreaBarDisplay = (defaultDisplay, existingDisplay) =>
 const guessVisualization = (
   card: CardObject,
   tableMetadata: Table,
-  existingDisplay: string = null,
+  existingDisplay: ?string = null,
 ) => {
   const query = Card.getQuery(card);
   if (!query) {
diff --git a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
index 1318fd366c2f9aa9fd2760a2a45862a6471cad92..32da2b8502234cce999761149630fa58b3fb53ff 100644
--- a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
+++ b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
@@ -687,7 +687,7 @@ export default function lineAreaBar(
   element: Element,
   props: LineAreaBarProps,
 ): DeregisterFunction {
-  const { onRender, chartType, isScalarSeries, settings, series } = props;
+  const { onRender, isScalarSeries, settings, series } = props;
 
   const warnings = {};
   const warn = id => {
diff --git a/frontend/src/metabase/visualizations/lib/settings/graph.js b/frontend/src/metabase/visualizations/lib/settings/graph.js
index 3b0e84ba85c7b4fe512866c54062a27403a5baa8..63d1c76ee61d1b625e95cef7847539ae90aabbaf 100644
--- a/frontend/src/metabase/visualizations/lib/settings/graph.js
+++ b/frontend/src/metabase/visualizations/lib/settings/graph.js
@@ -1,4 +1,3 @@
-import { capitalize } from "metabase/lib/formatting";
 import {
   isDimension,
   isMetric,
@@ -9,7 +8,6 @@ import {
 import { t } from "c-3po";
 import {
   columnsAreValid,
-  getCardColors,
   getFriendlyName,
   getChartTypeFromData,
   getColumnCardinality,
diff --git a/frontend/src/metabase/visualizations/lib/utils.js b/frontend/src/metabase/visualizations/lib/utils.js
index 7bf45b0a989ae299fdcaf2d706defd065b5bd50d..705498dab0388c448d58a9442b2d0c66540d110c 100644
--- a/frontend/src/metabase/visualizations/lib/utils.js
+++ b/frontend/src/metabase/visualizations/lib/utils.js
@@ -5,8 +5,6 @@ import d3 from "d3";
 import { t } from "c-3po";
 import crossfilter from "crossfilter";
 
-import { harmony } from "metabase/lib/colors";
-
 const SPLIT_AXIS_UNSPLIT_COST = -100;
 const SPLIT_AXIS_COST_FACTOR = 2;
 
@@ -176,23 +174,6 @@ export function getFriendlyName(column) {
   }
 }
 
-export function getCardColors(card) {
-  let settings = card.visualization_settings;
-  let chartColor, chartColorList;
-  if (card.display === "bar" && settings.bar) {
-    chartColor = settings.bar.color;
-    chartColorList = settings.bar.colors;
-  } else if (card.display !== "bar" && settings.line) {
-    chartColor = settings.line.lineColor;
-    chartColorList = settings.line.colors;
-  }
-  return _.uniq(
-    [chartColor || Object.values(harmony)[0]].concat(
-      chartColorList || Object.values(harmony),
-    ),
-  );
-}
-
 export function isSameSeries(seriesA, seriesB) {
   return (
     (seriesA && seriesA.length) === (seriesB && seriesB.length) &&
diff --git a/frontend/src/metabase/visualizations/visualizations/PieChart.jsx b/frontend/src/metabase/visualizations/visualizations/PieChart.jsx
index ac95446f51bd525e358d879aeecd2fdedb010ebc..37eadf3244284daf89e4237229b88317b68b4abe 100644
--- a/frontend/src/metabase/visualizations/visualizations/PieChart.jsx
+++ b/frontend/src/metabase/visualizations/visualizations/PieChart.jsx
@@ -164,7 +164,6 @@ export default class PieChart extends Component {
       !PERCENT_REGEX.test(cols[metricIndex].name) &&
       !PERCENT_REGEX.test(cols[metricIndex].display_name);
 
-    // $FlowFixMe
     let total: number = rows.reduce((sum, row) => sum + row[metricIndex], 0);
 
     let sliceThreshold =
diff --git a/frontend/test/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js b/frontend/test/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js
index 9f6d63747b3b856988baa0eab251e3d3faaa4743..d435450fd29819a94bed1331370ed9acf9585842 100644
--- a/frontend/test/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js
+++ b/frontend/test/visualizations/components/LineAreaBarRenderer-bar.unit.spec.js
@@ -13,6 +13,7 @@ const DEFAULT_SETTINGS = {
   "graph.x_axis.axis_enabled": true,
   "graph.y_axis.axis_enabled": true,
   "graph.colors": ["#00FF00", "#FF0000"],
+  series: () => ({ display: "bar" }),
 };
 
 describe("LineAreaBarRenderer-bar", () => {
diff --git a/frontend/test/visualizations/components/LineAreaBarRenderer-scatter.unit.spec.js b/frontend/test/visualizations/components/LineAreaBarRenderer-scatter.unit.spec.js
index 19960030a278cc012145ae15755866f5cffceb7d..a2b25cfa983c85ab7a3cda81e0bd4739b0b775b3 100644
--- a/frontend/test/visualizations/components/LineAreaBarRenderer-scatter.unit.spec.js
+++ b/frontend/test/visualizations/components/LineAreaBarRenderer-scatter.unit.spec.js
@@ -10,6 +10,7 @@ const DEFAULT_SETTINGS = {
   "graph.x_axis.axis_enabled": true,
   "graph.y_axis.axis_enabled": true,
   "graph.colors": ["#000000"],
+  series: () => ({ display: "scatter" }),
 };
 
 describe("LineAreaBarRenderer-scatter", () => {
@@ -35,6 +36,7 @@ describe("LineAreaBarRenderer-scatter", () => {
       chartType: "scatter",
       series: [
         {
+          card: {},
           data: {
             cols: [
               NumberColumn({ display_name: "A", source: "breakout" }),
@@ -64,6 +66,7 @@ describe("LineAreaBarRenderer-scatter", () => {
       chartType: "scatter",
       series: [
         {
+          card: {},
           data: {
             cols: [
               NumberColumn({ display_name: "A", source: "breakout" }),
diff --git a/frontend/test/visualizations/components/LineAreaBarRenderer.unit.spec.js b/frontend/test/visualizations/components/LineAreaBarRenderer.unit.spec.js
index 0fa682ab7f8be475ea50c7e23db555da9229ffb1..929e165fb92b385c1754a6bcb11573f07898869b 100644
--- a/frontend/test/visualizations/components/LineAreaBarRenderer.unit.spec.js
+++ b/frontend/test/visualizations/components/LineAreaBarRenderer.unit.spec.js
@@ -226,6 +226,7 @@ describe("LineAreaBarRenderer", () => {
         settings: {
           "graph.show_goal": true,
           "graph.goal_value": 30,
+          "graph.goal_label": "Goal",
         },
       });
 
@@ -243,6 +244,7 @@ describe("LineAreaBarRenderer", () => {
         settings: {
           "graph.show_goal": true,
           "graph.goal_value": goalValue,
+          "graph.goal_label": "Goal",
         },
         onHoverChange: hover => {
           expect(hover.data[0].value).toEqual(goalValue);
@@ -279,6 +281,7 @@ describe("LineAreaBarRenderer", () => {
         "graph.x_axis.scale": "timeseries",
         "graph.x_axis.axis_enabled": true,
         "graph.colors": ["#000000"],
+        series: () => ({ display: "line" }),
         ...settings,
       },
       onHoverChange,
@@ -302,6 +305,7 @@ describe("LineAreaBarRenderer", () => {
         "graph.x_axis.axis_enabled": true,
         "graph.x_axis.scale": "ordinal",
         "graph.x_axis._is_numeric": false,
+        series: () => ({ display: "bar" }),
       },
       onHoverChange,
     });