{
  "id": "palette-vp-violet-jade",
  "version": "1.0.0",
  "name": "Violet and jade",
  "name_zh": "紫罗兰翠玉",
  "author": "VoltPeer maintainers",
  "license": "MIT",
  "category": "style",
  "status": "community",
  "created_at": "2026-10-03",
  "updated_at": "2026-10-03",
  "series": [
    "#593777",
    "#9675AE",
    "#CFBDD9",
    "#F6F5F2",
    "#BAD6C5",
    "#72A78C",
    "#316D53"
  ],
  "palette_kind": "diverging",
  "background": "#FFFFFF",
  "description": "Positive/negative deviations and residuals",
  "description_zh": "正负偏差与残差",
  "use_zh": "正负偏差与残差",
  "use_en": "Positive/negative deviations and residuals",
  "usage_mode": "heatmap",
  "cvd_level": "not_verified",
  "classic": false,
  "recommended_series_count": 6,
  "source_credit": {
    "source": "VoltPeer original / Violet and jade",
    "url": "https://dazi.gsarrizabalaga.xyz/palettes.html#palette-vp-violet-jade",
    "licence": "MIT",
    "scope": "Independently authored colour values and appearance fixture. No third-party array, figure or experimental data copied."
  },
  "tags": [
    "diverging",
    "voltpeer-original",
    "heatmap"
  ],
  "scientific_review": "not_claimed",
  "template_collection": "palette-library-200",
  "saturation": "soft",
  "saturation_hsv_mean": 0.287,
  "colorblind_status": "not_certified",
  "intended_background": "#FFFFFF",
  "dark_background_support": false,
  "palette_categories": [
    "diverging",
    "soft"
  ],
  "plot_code": "import matplotlib.pyplot as plt\nfrom matplotlib.colors import LinearSegmentedColormap, TwoSlopeNorm\n\n# Seven preview stops; the download includes the full 256-row table.\ncolours = ['#593777', '#9675AE', '#CFBDD9', '#F6F5F2', '#BAD6C5', '#72A78C', '#316D53']\ncmap = LinearSegmentedColormap.from_list('selected', colours)\nfig, ax = plt.subplots()\nnorm = TwoSlopeNorm(vmin=-limit, vcenter=0, vmax=limit)\nimage = ax.imshow(values, cmap=cmap, norm=norm)\nfig.colorbar(image, ax=ax, label=unit)\nfor spine in ax.spines.values():\n    spine.set_visible(True)\nfig.savefig('new-figure.svg')\n",
  "preview_series_indices": [
    0,
    1,
    2,
    3,
    4,
    5
  ]
}
