在x轴上定位标签

时间:2015-04-18 13:34:05

标签: gnuplot

我试图绘制一个简单的图形,x和y坐标,但是我的轴标签不是我想要的。

  • 如何更改' 1e + 08'以及它们的真实价值,100000000
  • 如何将xtics的标签向下移动,以免它们模糊图形?
  • 我可以在certian点图表中打印坐标,例如2014-05-10-04-00和2014-05-10-08-00之间的下降吗?
  • 如何在x轴的标签中添加更多间隔?

以下是我使用的输入:

reset
clear
set output "BytesOverTime.png"
set title "Evolution of Bytes over Time"
set ylabel 'Bytes'
set xlabel 'Time'
set key off
set term png
set xdata time
set timefmt "%Y-%m-%d-%H-%M"
set format x "%Y-%m-%d-%H-%M"
set xtics rotate by 90 nomirror
set datafile separator ' '
set logscale y
plot "timeBytesAverage.out" using 1:2

该文件是否需要测试: http://pastebin.com/raw.php?i=qqpeJj4V

Graph

1 个答案:

答案 0 :(得分:2)

  

如何更改' 1e + 08'以及它们的真实价值,100000000

set format y "%f"

或者,因为这会给你十进制数字:

set format y "%.0f"

你也可以看看

set format y "%.0s%cByte"

将创建MByte,GByte,...(在我的绘图中查看右侧y轴) 但是,这将是1000的基数,而不是1024。

  

如何将xtics的标签向下移动,以免它们模糊图形?

set xtics rotate by 90 nomirror right

将右对齐(左齐)tic标记

  

我可以在certian点图表中打印坐标,例如2014-05-10-04-00和2014-05-10-08-00之间的下降吗?

如果您知道坐标,是:

set xtics add ("high" "2014-05-09-23-30", "low" "2014-05-10-22-30" )

一般语法是:

set xtics add (  <label1> <position1>, <label2> <position2> , ...)

这会将标签列表添加到自动生成的标签中。如果您省略单词add,则不会自动生成标签,只会列出您的标签。

  

如何在x轴的标签中添加更多间隔?

set xtics 3600

每隔3600秒生成一个标签,即每小时生成一个标签。这对于对数刻度轴不起作用。

set mxtics 2

将导致两个主要(标记)抽搐之间的差距被分成两个较小的间隙,即两个主要抽搐之间的一个小抽头。 (但是,这里似乎没有必要,因为gnuplot决定在它上面使用2)

结果如下:

enter image description here

请注意,我还添加了

set y2tics
set y2range[1E8:1E12]
set format y2 "%.0s%cByte"
set logscale y2

在右侧y轴上演示这种特殊格式。

顺便说一下:y轴上标签的格式与数据文件中的格式无关。

set timefmt "%Y-%m-%d-%H-%M"定义文件中的格式

set format x "%Y-%m-%d-%H-%M定义了图中的格式。所以你可以做一些更具可读性的set format x "%Y-%m-%d %H:%M