gnuplot - 在 gnuplot 中控制 x2tics 的频率
问题描述
我正在尝试绘制一个类似于下面给出的示例的数据文件,尽管要大得多。
1.0 12.0 0.03
2.0 14 0.586
10.0 16 0.798
50.0 18 1.023
250.0 28.9 1.124
1000.0 30.2 1.456
我想用 3 绘制第 1 列,而第 2 列将是我的上轴刻度。下面给出的代码:
reset
set logscale x
set logscale y
set xtics nomirror
set xtics (1 ,100, 1000)
set x2tics (1, 100, 1000)#(x2tics is not changing)
set autoscale xfix
set autoscale x2fix
set xlabel 'x'
set ylabel 'y'
set x2label 'm'
plot 'data_test.txt' using 1:3:x2tic(2) with linespoints ps 2 lw 2 title 'y wrt x'
最初的滴答声都是重叠的,我想减少滴答声。但是,更改 x2tics 并不能解决问题。请帮忙。
解决方案
您缺少一个set logscale x2
.
完整代码:
reset
set logscale x
set logscale y
set logscale x2
set xtics nomirror
set xtics (1 ,100, 1000)
# The next line would plot a confusing 100 between 18 and 28.9,
# so I commented it out
# set x2tics (1, 100, 1000)#(x2tics is not changing)
# But we have to enable x2tics
set x2tics
set autoscale xfix
set autoscale x2fix
set xlabel 'x'
set ylabel 'y'
set x2label 'm'
plot 'data_test.txt' using 1:3:x2tic(2) with linespoints ps 2 lw 2 title 'y wrt x'
结果:
更新
为了减少 x2tics 的数量,我会尝试两个图:第一个绘制数据点,第二个只绘制 x2tics:
plot 'data_test.txt' using 1:3 with linespoints ps 2 lw 2 title 'y wrt x', \
'data_test.txt' using 1:(NaN):x2tic(2) every 2 notitle
在这里,NaN
“隐藏”数据点,并every 2
跳过每 2 行。
推荐阅读
- java - 为什么这两个 java.util.Pattern 不相等
- python - 写入 CSV 文件时未过滤的行
- groovy - groovy JSON builder 需要删除空格
- android - Google Cloud Endpoint 错误:MyApi 包不存在
- java - 如何在textview中动态显示其他语言的单词
- python - 汇总存储在数据框中的多个列表
- c# - UnityEngineComponent 速度错误如何解决?
- file - Xpages 文件下载控件排序列
- mysql - 如何进行 SQL 查询以选择唯一 id 并按日期将它们排列在列中?
- php - PHP - 访问数组中的数据