Javascript 如何在react中将温度以摄氏度显示为RGB?

Javascript 如何在react中将温度以摄氏度显示为RGB?,javascript,reactjs,Javascript,Reactjs,如何根据摄氏温度创建背景色?假设我有一组温度值: [19°、29°、30°、32°],我想将它们表示为RGB颜色,如何实现 我在考虑设置一些默认颜色,并根据温度显示它们,如下所示: const red = 'red'; const cyan = 'cyan'; if((temp < hottest ){ return red;} if((temp > hottest ){ return cyan;} const red='red'; 常数青色=‘青色’; 如果((温度最热){返回

如何根据摄氏温度创建背景色?假设我有一组温度值: [19°、29°、30°、32°],我想将它们表示为RGB颜色,如何实现

我在考虑设置一些默认颜色,并根据温度显示它们,如下所示:

const red = 'red';
const cyan = 'cyan';

if((temp < hottest ){ return red;}
if((temp > hottest ){ return cyan;}
const red='red';
常数青色=‘青色’;
如果((温度<最热){返回红色;}
如果((温度>最热){返回青色;}

但我不喜欢这种方法,因为我想得到色调,而不是一个平面的颜色


我已经找到了解决方案,但我无法让它在摄氏度下工作…

让我们假设0°应为蓝色(rgb(0,0,255)),100°为红色(rgb(255,0,0))

const maxTemp=100;
常数minTemp=0;
常数redVal=255/(最大温度-最小温度)*(温度-最小温度);
常数blueVal=255/(最大温度-最小温度)*(最大温度-温度);
...

“想要得到色调,而不是平坦的颜色”你这到底是什么意思?你能看看你想要它看起来怎么样吗?@LucaKiebel谢谢-我的意思是要表现出真正的表现-而不是一种平淡的颜色-所以如果温度是30度-然后显示一种红色的色调,这与27度不同-这也是热的-应该是一种比红色更橙色的颜色请注意,这与“celcius”无关,纯粹是关于“我有一个有序的数字列表,我想将它们映射到颜色渐变”,已经有答案了。@Mike'Pomax'Kamermans,这不准确……我正在寻找一个能满足我所需的软件包或图书馆……如果是更好更简单的解决方案,我会很高兴的……但因为我没有找到任何类似的东西,所以它不是重复的。记住,你不是为了要一个li而向SO发帖的brary或package(因为这是你提问的原因之一),你们问的是如何做一件特定的事情。在这种情况下,将一组数字映射到一个颜色渐变。这是以前被问过的事情,所以作为你们在发帖前应该做的事情的一部分,你们会找到它们。若你们找到了,请解释一下你们发现的并不能满足你们的需要,因为并没有这些信息,这只是一个复制品。谢谢-有些东西不累加…如果我的温度是30度,那么我得到的是rgb(76,0,178)-它是蓝色的…你需要更改maxTemp。如果你将其设置为30度,那么你将得到你想要的红色。只需更改maxTemp,如
const maxTemp=35
const maxTemp = 100;
const minTemp = 0;
const redVal = 255 / (maxTemp - minTemp) * (temp - minTemp);
const blueVal = 255 / (maxTemp - minTemp) * (maxTemp - temp);
...
  <div style={{ backgroundColor : `rgb(${redVal}, 0, ${blueVal})` }}