gnuplot - GNUPlot:无法绘制指定颜色的二维散点图
问题描述
我正在尝试使用收到的建议制作 2D 散点图无法在 GNUPlot 中获取标签颜色
这导致我写:
$DATA << EOD
3.12960004005165 2.67469663590573 0.438527882947657
3.54159282682062 1.48608712150729 3.45059090334765
1.41832139944261 1.09739773669576 4.7851179962913
0.37050714994141 4.51679511956513 2.99273024822522
1.33417336450785 2.60931115605578 3.49852244355505
4.68608825227413 4.50263530942483 0.708639941290272
EOD
set datafile separator "\t"
set xlabel 'x'
set ylabel 'y'
set title 'title'
set terminal svg
set output 'scatterplotx_y.svg'
set key off
myColor(col) = int("0x".strcol(col)[3:])
plot $DATA using 1:2:(myColor(3)) pt 7
我正在使用 gnuplot 5.2 补丁级别 8
我也试过
plot $DATA u 1:2:3 with lines palette
GnuPlot 中的 Line plot 建议,其中线条颜色是我的数据文件中的第三列?但这不起作用
plot $DATA u 1:2:3 with points color $3
我现在正在使用调色板:
set palette defined (0 "red", 0.3 "orange", 0.625 "green", 0.85 "blue", 1 "dark-violet")
我的问题:
如何绘制由 [0,1] 中的数字确定的从红色到紫色的颜色,这里是第 3 列?其中红色是 0,1 是紫色,彩虹的所有颜色都在中间?
解决方案
您在 plot 命令中缺少一个关键字来告诉程序第三列的用途。
plot $DATA u 1:2:3 with lines linecolor palette
否则程序会忽略额外的列,因为它不知道它是 az 坐标、点大小还是其他各种可能性。
实际上,选项中还有更多选择linecolor palette
。它可以是linecolor palette z
orlinecolor palette fraction
或linecolor palette cb
。
- 默认是第一个
palette z
。它会自动缩放值以使用此图中数据的整个调色板范围。 palette fraction
表示第 3 列是一个介于 0 和 1 之间的数字,用于选择远离调色板范围的颜色。palette cb
表示第 3 列中的值是指由 控制的单独颜色范围set cbrange [min:max]
。
推荐阅读
- redis - 为什么 Redis 客户端在集群模式下使用多个地址?
- powerbi - Power BI 在嵌入式模式下创建报表抛出 403
- python - 在类变量中创建对类的引用并在 __init__ 中实例化它们
- python - 将多个数据库表映射到 SQLAlchemy 中的一个对象
- elasticsearch - Elasticsearch 将长序列字符串与模糊查询进行比较
- c# - Azure App Service API 获取 FileNotFoundException:尝试启动 swagger 时找不到文件 'D:\home\site\wwwroot\MyApi.xml
- google-cloud-platform - 如何传递动态参数气流运算符?
- python - 使用 syslog-ng python 目标设置变量路径
- c++ - 带有参数化构造函数的二维向量
- reactjs - 将值从子组件传递到另一个(相同级别)而不等待父状态更新