for-loop - 在 gnuplot 中仅更改一个数据点的颜色
问题描述
我在 gnuplot 中做一个 gif,我将我的数据分成块。我需要这些点是白色的,除了每个数据块的第一行,这将是一个橙色点。
目前我的代码是:
#...
do for [i=0:int(STATS_blocks-1)]{
plot "positions.txt" index i pt 7 ps 0.5 lc 'white' title "t = ".((i+1)*200)." Myr"
}
如您所见,这会将每个数据点绘制为白色,包括第一行。
解决方案
编辑以显示可变点大小
如果我正确理解您的数据格式:
set linetype 11 lc "orange"
set linetype 12 lc "white"
set style data points
do for [i=0:N] {
plot "positions.txt" index i using 1:2:(column(0)>0 ? 0.5 : 2.0):(column(0)>0 ? 12 : 11) pt 7 ps variable lc variable
}
可变颜色(如果使用)总是取自最后一using
列。其他变量属性从那里返回。
推荐阅读
- grafana - Grafana:更改现有 api key 的角色
- react-native - 为什么我的 RN 视频组件的 onLoad 事件没有触发?
- c - items[(int)(type - '1')] 在这个 printf 语句中是什么意思?
- asp.net - 为什么有些 cookie 的名称旁边有“文件系统”?
- python - Python/Jupyter Notebook 打印命令确实会破坏程序
- javascript - 尝试验证表单时出现“TypeError”
- local-storage - 如何将本地存储用于货币切换器?
- sql - 在oracle中根据self join更新列
- php - Google Calendar API InvalidArgumentException:“无效代码”
- python - 将深度解析输出转换为数据框