Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有什么算法可以为图上的绘图线选择颜色?

有什么算法可以为图上的绘图线选择颜色?
EN

Software Engineering用户
提问于 2013-05-14 05:56:04
回答 2查看 2.9K关注 0票数 19

我感兴趣的是,我可以编程实现哪些算法或规则来为绘线生成RGB或HSV颜色,以使它们在视觉上与邻居区分开来。

我知道,在专业地图制作中,有一些算法或规则可以确保地图上没有两个相邻国家的颜色是相同的。我还可以把看作是为情节线挑选好的颜色/阴影(红色,然后是蓝色,然后是紫色/橙色)。

下面是我所说的一个例子--我需要在一个黑色背景上为12条线生成颜色。这里的颜色,我已经用网页安全的RGB颜色代码手工硬编码。当这些线条重叠时,问题就出现了--很难判断你是在看紫色、淡淡的深紫色还是紫色。我正在寻找一种更好的算法来为像这样的绘图线生成颜色。

下面是一个使用jQuery的Flot绘图库的示例,它为图形提供了很好的连续颜色:

EN

回答 2

Software Engineering用户

发布于 2013-05-14 06:02:54

我建议使用HSV或HSL颜色空间,而不是RGB颜色空间,因为HSV和HSL的结构更适合于生成与人类不同的颜色。您将在RGB中进行更多的工作(如果需要的话,来回转换仍然存在)。

这就是HSV / HSL的样子:

当使用HSV或HSL颜色空间时,您可以(非常粗略地)假设两种颜色的H(色调)分量之间的差异是颜色之间知觉距离的一个很好的近似值--即色调的变化越大,对人类来说颜色就越不同。你可以试着和S(饱和度)和L/V (光/值)玩,也可以找出更多非常不同的颜色,但它们看上去并没有那么不同,因为相同的值变化就像颜色的变化一样。

根据您需要的不同颜色的数量,您可以将色调空间划分为不同颜色的数量。例如,如果您的色调范围为256值,并且需要16种不同的颜色,那么您的第一种颜色可能是(0,128,128),第二种颜色(16,128,128)等等。我有些武断的选择S/L的价值观在中间,因为这通常是轻的和饱和的,以清楚地看到颜色的差异。这个系统很简单,并且假设您不需要了解图形/地图中颜色的邻接。

如果你事先不知道你需要多少种不同的颜色,但你知道上限,并且按照上面的上限将色调范围划分成不同的颜色,那么你就可以使用相同的系统。

如果你(可能)需要很多不同的颜色,你仍然可以使用非常相似甚至相同的颜色,只要它们不出现在具有相似颜色的图形的其他元素附近。这需要了解您正在绘制的图形中的邻接情况,并且可能并不总是简单明了,即使是这样,也可能不是一个好主意,杜克林在评论中指出:对于观众来说,相同的颜色在图形中两次被用于两个不同的概念,这可能会让观众感到困惑。

因此,最后,在最复杂的情况下,您的图形足够复杂,您没有足够的颜色空间来确保在使用上面的系统时不会以颜色太相似的不同元素结束。在这种情况下,您需要建立一个由可视化图形的元素组成的邻接图。邻接是一个模糊的概念-你必须根据你的实际情况正确地定义它。例如,在您的第二个示例中,7月12日的数据有一个阻塞点,每种颜色都与其他颜色相邻。如果可以建立邻接图,一种可以帮助您的方法是图着色问题--有些库可以帮助您--例如,Boost::C++中的图形

票数 15
EN

Software Engineering用户

发布于 2015-11-30 23:46:53

对于预先不知道需要多少不同颜色的情况,另一个有趣的算法是黄金分割算法

只需从您最喜欢的颜色开始,然后按金角 (137.5°)的步骤绕颜色轮。有了这个角度,您将确保在每一次卷积围绕颜色轮,您的新颜色之间,您已经创建的颜色。

(图片来源于维基百科)

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/198065

复制
相关文章
Matlab画图线型、符号及颜色设置
-Solid line (default) – Dashed line : Dotted line -. Dash-dot line
全栈程序员站长
2022/09/03
3.3K0
Matlab画图线型、符号及颜色设置
Matlab画图线型、符号及颜色汇总[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138151.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/04
5.6K0
Matlab画图线型、符号及颜色汇总[通俗易懂]
CSS颜色选择
亮蓝色:#409EFF success: #67C23A warning: #E6A23C danger: #F56C6C info: #909399
渔父歌
2019/03/29
1.4K0
高质量编码-地图线要素颜色插值可视化
通常情况下,为了将空间区域各位置的数值差异形象直观表达出来,我们使用密度图或者热力图来进行可视化。相比于热力图效果受半径阈值参数影响很大,密度图采用空间插值更加合理科学。
MiaoGIS
2022/03/04
5610
高质量编码-地图线要素颜色插值可视化
颜色选择器
做网页必备的css颜色美化,开发时总找不到你想要的颜色,一个源码轻松解决。 网页截图 网页演示 演示站 网页源码 直接下载 网盘下载 我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https:
qiangzai
2021/12/20
9360
颜色选择器
如何判断算法是否有可优化空间?
之前一直在写一些算法怎么优化,包括算法逻辑甚至是更加底层一些的文章,但是测试工作都做得比较随意,也就是粗略的比较时间。最近准备学习一下矩阵乘法的优化,觉得这种比较方式实际上是看不出太多信息的,比如不知道当前版本的算法在某块指定硬件上是否还存在优化空间。因此,这篇文章尝试向大家介绍另外一个算法加速的评判标准,即算法的浮点峰值(gflops)。
BBuf
2020/10/30
1.3K0
如何判断算法是否有可优化空间?
有什么理由让我们选择SAS
数据挖掘:从现有的大量数据中,攫取不明显、之前未知、可能有用的知识 ——William Frawley & Gregory Piatetsky Shapiro 市面上做数据挖掘的工具非常多,可谓是百花齐放百家争鸣,那么有什么理由让我们选择学习SAS 呢? 第一个理由,常用,名气大。这就好像同样是五百强企业,你说微软,大家会“哇!好厉害”,星星眼崇拜ing。然后你说某某集团(名字隐去,免得拉仇恨),大家会“恩?是民企么?”,瞬间自豪感就受到了挫败。SAS毫无疑问是数据分析届的巨无霸。 第二个理由,持续性强。S
CDA数据分析师
2018/02/24
9700
vue ColorPicker 颜色选择器,传颜色值的问题
vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。
王小婷
2021/11/24
2.6K0
vue ColorPicker 颜色选择器,传颜色值的问题
origin图上的字母C怎么消除_origin画图为什么总是有C
有C是由于在进行激活成功教程版安装导致的,激活了官方的反盗版机制,会给你的图打一个copyright,也就是C,以下方法可破:
全栈程序员站长
2022/11/08
6.9K0
bootstrap 颜色选择器
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>bootStrap-colorpicker 插件测试</title> <link href="../css/bootstrap.min.css" type="text/css" rel="stylesheet"> <link href="../css/bootstrap-colorpicker.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="../js/bootstrap-colorpicker.js"></script> <style> input { width: 20px; height: 20px; border: 1px solid #fff; border-radius: 4px; background-color:#fff; text-indent: 20px;; } </style> </head> <body> <div class="jumbotron"> <h1>Bootstrap Colorpicker Demo</h1> <p>选择的颜色:<span id="color"></span></p> <p>点击选择颜色:<input id="demo" type="text" value="" readonly/></p>
用户5760343
2019/07/07
3.1K0
看看你以为的钻研技术和实际的钻研技术有什么区别吧
精通更多底层原理,背诵更多的jdk源码实现方式,对aqs更加熟练了,对线程池参数有了更深刻的理解,熟悉了更多的jvm参数,有了更多的调优经验,对线程同步的底层原理更加精通了,拓展了Java代码混淆方面的知识,熟悉了更多关于Java的底层安全策略,顺带吧Java网络编程方面也精通了。
鲁大猿
2024/09/20
781
看看你以为的钻研技术和实际的钻研技术有什么区别吧
【毕业论文】求解最优的任意宝可梦颜色交换算法
(加个英文标题:A Algorithm for Color Transfer on Pokémon Images
数据STUDIO
2024/06/04
2510
【毕业论文】求解最优的任意宝可梦颜色交换算法
Streamlit颜色选择器
Streamlit的一个有用功能是颜色选择器工具。这使你可以通过让用户选择任何颜色,而不是使用默认的硬编码颜色,为你的仪表板添加灵活性。
磐创AI
2024/04/15
3840
Streamlit颜色选择器
使用有颜色的 Console 信息
开发JS时经常会使用 console 来输出调试信息,其实 console 支持一个非常有意思的功能,就是可以设置信息的样式。
dys
2018/12/24
9010
什么是可中断锁?有什么用?怎么实现?
在 Java 中有两种锁,一种是内置锁 synchronized,一种是显示锁 Lock,其中 Lock 锁是可中断锁,而 synchronized 则为不可中断锁。 ​
磊哥
2021/09/14
1K0
什么是可中断锁?有什么用?怎么实现?
Adobe Photoshop,选择图像中的颜色范围
“色彩范围”命令选择现有选区或整个图像内指定的颜色或色彩范围。如果想替换选区,在应用此命令前确保已取消选择所有内容。“色彩范围”命令不可用于 32 位/通道的图像。
IT胶囊
2021/06/08
11.6K0
Power BI颜色编码方式选择
Power BI可以使用DAX自定义颜色,比如字体颜色、背景色、填充色等。主要使用的颜色编码方式为英文颜色名称、RGB、十六进制。
wujunmin
2025/02/10
1180
Power BI颜色编码方式选择
Matlab 绘图颜色选择「建议收藏」
barh(1,1,1,’FaceColor’,[0.5,0.3,0.5]);hold on
全栈程序员站长
2022/08/31
9540
Apache和Nginx有什么区别,如何选择?
网上已经有非常多关于apache和nginx区别的文章了,笔者就不从专业技术的角度进行解说,而按照目前比较流行的架构方式进行阐述。
用户1529454
2021/04/21
1.4K0
Apache和Nginx有什么区别,如何选择?
选择低代码平台有什么注意事项?
低代码开发平台和零代码开发平台是近几年时兴的一种新的程序开发方法。该模式的特征是可以使用用户界面、拖拽操作等方式快速构建应用软件软件,从而减少开发者的学习标准,使每个人都能变成开发者。
Zoho Creator低代码
2024/04/11
1070
选择低代码平台有什么注意事项?

相似问题

什么样的算法适合于图像颜色摘要?

10

绘图线程交互

10

用户选择算法

30

使用数据结构的算法和使用数据库的算法有什么不同?

40

选择适用的颜色

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档