如何将 HSV 值转换为 Hexcode 格式

问题描述 投票:0回答:1

是否可以直接将 HSV 值转换为 Hexcode 格式?

HSV 值的数据框:

我的代码:

导入色彩系统

def hsv_to_hex(h,s,v): return '#' + ('{:x}{:x}{:x}').format(h,s,v)

st.write(hsv_to_hex(66,172,17))

结果返回以下十六进制代码: #42ac11(十六进制代码)

但我的问题是,当我检查#42ac11时,它是将rgb颜色转换为十六进制而不是hsv值。

我想将我的 HSV 值转换为十六进制代码以更改标记的颜色并显示图例十六进制代码,以便我能够像下图一样绘制它。

我想要实现的示例图表:

有没有办法让它直接转换而不需要在dataframe中进行修改?

python colors plotly scatter-plot
1个回答
0
投票

不,十六进制代码是 RGB 的表示,而不是 HSV。您需要首先使用公式像这样将HSV转换为RGB。

此外,您的数据看起来不像典型的 HSV 值,尤其是饱和度为“172”的情况。如果它们确实代表 HSV,则在转换之前您需要使用 0 - 1 范围。

© www.soinside.com 2019 - 2024. All rights reserved.