Cividis colormap sample
Pick a position from 0 to 1 and get the matching color of a Cividis-style ramp made for color vision deficiency: position 0 returns #00204c. Use it to color heatmaps and charts that more readers can tell apart. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- T
- 0
- Resistance (Ω)
- 0
- G
- 32
- B
- 76
- Hex
- #00204c
Sample CVD-friendly Cividis-like ramp t→hex. Search intent: cividis colormap. No network calls or random seeds are required. Failed jobs are not billed.
Why a color vision friendly ramp matters
A colormap turns numbers into colors, so a heatmap, a density plot or a shaded map can show low and high values at a glance. Many familiar rainbow ramps lean on red and green differences that some readers with color vision deficiency cannot tell apart, and then the picture hides patterns or suggests ones that are not there. A Cividis-style ramp was drawn so that its steps stay distinguishable for those readers too, which lets one chart work for the whole audience instead of only part of it.
How to sample it and what to avoid
Enter a position between 0 and 1. The tool finds the two fixed control colors on either side of that position, blends them, and returns the result as a hex color together with its red, green and blue values. Position 0, for example, gives #00204c. To color your own data, first rescale every value so the lowest becomes 0 and the highest becomes 1. Typical mistakes are entering raw values such as percentages without rescaling, which are refused, and mixing this ramp with a different colormap in the same figure, which breaks the reader's sense of scale.
What you can do with it
Teaching
Pinned goldens.
FAQ
What is the Cividis colormap?
It is a color ramp designed to stay readable for people with color vision deficiency. This tool returns a Cividis-like color for any position along that ramp, blending between fixed control colors.
What position should I enter?
A number from 0 to 1, where 0 is the start of the ramp and 1 is its end. Position 0 returns #00204c, which is red 0, green 32 and blue 76; positions in between blend the nearest control colors.
Will the same position always give the same color?
Yes. The color is calculated, never random, and nothing is fetched from the internet, so one position returns the identical hex color every time and your charts stay consistent between versions.
What happens if I enter a value outside 0 to 1?
It is refused before any calculation, so you never get a made-up color. Rescale your data first so the lowest value maps to 0 and the highest to 1, then sample each position.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/color/cividis-sample \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"t":0.5}'const res = await fetch("https://api.kit.forhosting.com/color/cividis-sample", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"t": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/cividis-sample",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"t": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/cividis-sample", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"t":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"t":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/cividis-sample", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"t": 0.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.cividis_sample",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested.
How it works
Sample CVD-friendly Cividis-like ramp t→hex. Piecewise interpolation of fixed control points. No network calls or random seeds are required. Failed jobs are not billed. No network calls or random seeds are required. Failed jobs are not billed. Half-up rounding The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input.
Inputs, limits and rounding
Optional decimals use half-up once. Optional output fields are omitted, never null. No network calls or random seeds are required. Failed jobs are not billed. No network calls or random seeds are required. Failed jobs are not billed. Provide required JSON fields with DOM-safe names. Invalid types raise invalid_input. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested.
When to use it
Use when search intent matches. Sample CVD-friendly Cividis-like ramp t→hex. English-only delivery; Nitro hydrates other locales. No network calls or random seeds are required. Failed jobs are not billed. No network calls or random seeds are required. Failed jobs are not billed. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE values when decimals are requested. The calculator is free in the browser, deterministic, and identical on the API path. Inputs are validated before arithmetic so invalid payloads
Integration use cases
Quick check
Free widget.
Automation
API same JSON.
Technical questions
Free?
Yes tier A.
Network?
No.
Bad input?
invalid_input.
API?
Yes.
Locales?
EN-only; Nitro hydrates.