如何向 Gnuplot 直方图(平滑频率)添加数据标签?

2024-02-22

我的文件第 6 列中有蛋白质分子量数据。有问题的列如下所示:

MW [kDa]
16.8214045562515
101.41770820613989
24.332255496943485
43.946599899844436
210.58276787970942
57.987597263605494
27.384315650885558
119.02857910337919
8.962938979036466

我想绘制一个直方图,我使用 Gnuplot 的平滑频率函数来完成它:

echo n=20 >$gnuplot #number of intervals
echo max=100 >> $gnuplot #max value
echo min=-0 >> $gnuplot #min value
echo width=\(max-min\)\/n >> $gnuplot #interval width
echo hist\(x,width\)=width*floor\(x\/width\)+width\/2.0 >> $gnuplot
echo plot \"$dataFile\" using \(hist\(\$6,width\)\)\:\(1.0\) smooth freq w boxes lc rgb\"blue\" notitle >> $gnuplot

如何在每个直方图条形顶部添加代表每个 bin 计数的数据标签?我似乎找不到办法做到这一点。


我首先将直方图数据绘制到表格中,然后使用该表格绘制直方图本身和标签。 检查以下示例。如果您有一个文件,例如'myData.dat',跳过随机数据生成行,而是添加行FILE = 'myData.dat'并替换所有$Data with FILE。正如@Eldrad 在评论中提到的,使用绘图风格with labels对于标签。查看help labels and help table.

Code:

### histogram with labeled bins
reset session

# create some random test data
set print $Data
    do for [i=1:2000] {
        print sprintf("%g",(invnorm(rand(0))+10)*20)
    }
set print

stats $Data u 1 nooutput
xmin = STATS_min
xmax = STATS_max

N = 20
myWidth = (xmax-xmin)/N
bin(col) = myWidth*floor(column(col)/myWidth)+myWidth/2.

set key noautotitle
set style fill solid 0.3
set boxwidth myWidth
set grid x,y
set offsets graph 0,0,0.05,0    # l,r,t,b

set table $Histo
    plot $Data u (bin(1)) smooth freq 
unset table

plot $Histo u 1:2 w boxes lc rgb "blue", \
         '' u 1:2:2 w labels offset 0,0.7
### end of code

Result:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 Gnuplot 直方图(平滑频率)添加数据标签? 的相关文章

  • 如何在 gnuplot 中为 xticlabels 提供自定义字符串参数?

    假设我有一个包含三列的数据文件 我希望能够更改 x 轴标签 经过一番谷歌搜索后我发现xticlabels 但问题是它似乎只接受列号作为参数 用于 ex 绘图xticlabels 3 用第三列标记标签 我希望能够把类似的东西 1 2作为该函数
  • 在 Gnuplot 中自定义颜色范围

    我有一个运行良好的等值线图 它为不同的值生成等量的颜色 我想要的是在右侧生成标签 以便为每个块提供正确的颜色 当前结果 我想要的是每个块都有这个值 300 100 70 30 10 1 0 编辑 当我添加这段代码时 set cbtics 3
  • gnuplot 中的水平直方图

    我正在尝试在 gnuplot 中绘制水平直方图 这是我当前的垂直 通常类型 直方图 width 0 5 hist x width width floor x width width 2 0 set boxwidth width 0 9 se
  • 让C代码自动绘制图表

    我编写了一个程序 它将数据列表写入 dat 文件 然后使用 gnuplot 单独绘制它 有没有办法让我的代码自动绘制它 我的输出的形式如下 x coord analytic approximation x coord analytic ap
  • 绘制堆叠和聚类的条形图

    如何用 gnuplot 绘制这样的图 The demos http gnuplot sourceforge net demo histograms htmlgnuplot 页面显示了一个类似的示例 这是该页面上的最后一个示例 并生成下面的图
  • 为同一轴上的抽动设置不同的颜色

    是否可以在同一轴上使用不同颜色或样式的抽动 tics 0 1 1 5 2我想要0和2有色red or bold 非常适合multiplots其中有关于相同测量值的图 并且您希望在不同的图中标记 y 或 x 范围 但又不会使其过载太多 现在对
  • gnuplot - 彩色刻度线

    有什么办法可以拥有gnuplot为 x 和 或 y 轴上的刻度线着色 我正在使用背景png文件非常暗 我希望内部抽动在其上显示为白色 而不是默认的黑色 The tics似乎继承了它们的颜色border set style line 50 l
  • gnuplot 中的文件名完成未完成边界

    我使用 gnuplot 很长时间了 我总觉得有一个问题是它没有关闭 在选项卡上完成文件名 例如 gnuplot gt p fo
  • 如何创建具有不同 bin 宽度的直方图

    我对其他使用历史情节的人没有成功 一个简单的问题是使用以下数据 age range frequency central band width bin width height respectively 1 4 30 2 5 3 10 5 6
  • gnuplot:在 y 轴上绘制 4 列的文件

    我有一个包含 4 个数字 最小值 最大值 平均值 标准差 的文件 我想用 gnuplot 绘制它 Sample 24 31 29 0909 2 57451 12 31 27 2727 5 24129 14 31 26 1818 5 0419
  • Gnuplot multiplot:创建更复杂布局的便捷方法

    我想放置几块地块gnuplot http www gnuplot info通过以下方式 plot1 plot2 plot3 plot4 plot5
  • GNUPLOT:点图,数据取决于点大小

    我正在尝试绘制由 3 个坐标组成的数据集 X 坐标 x 坐标和出现次数 例子 1 2 10 3 1 2 3 2 1 我想在 x y 处为每条线画一个点 其直径取决于第三个值 Gnuplot 可以做到这一点吗 创建具有可变点大小的二维图 看t
  • GNUPLOT 每个直方图条具有不同的颜色

    我想可视化位图文件的不同颜色的数量 我的数据表如下所示 1 163073164 4 185122087 3 255242000 8 255255255 3 000162232 1 181230029 1 127127127 1 136000
  • 如何通过指定 Gnuplot 脚本内的所有点来绘制数据而无需单独的文件?

    我的程序生成调用 gnuplot 的 bash 脚本 我不想创建额外的文件来存储数据 有什么方法可以显式调用所有值吗 或者可能让 bash 创建一个临时文件 就像是 plot 1 5 2 10 3 1 就是我正在寻找的 您可以使用内联数据的
  • 递归地更改绘图类型(带线、带点)

    我正在尝试为基于 Julia 的 gnuplot 创建一个包装器来自动化我的绘图 我的目标是为 Julia 提供要绘制的文件名 要使用的线条样式类型以及要绘制的列 例如 如果我有文件test1 and test2 都有 3 列和标题 tim
  • gnuplot任意标注x轴

    我有以下 gnuplot 数据文件 1 0 5 0 9 2 0 1 0 5 3 0 7 0 4 其中第一列是 x 轴 第 2 3 列是两个不同的图表 x 轴坐标始终为自然数 它们代表单词在句子中的位置 第 2 列和第 3 列只是对句子中单词
  • 如何使用 Gnuplot 在一个图中绘制代表数据集中多个子集行的多个图表?

    我有一个数据集 其名称为 output txt 格式如下 1 2 4 6 7 10 1 2 5 6 7 1 3 4 6 7 10 2 4 6 7
  • 是否可以在 gnuplot 中设置标签相对于键的位置?

    我的情节的本质是这样的 绝对的标签并不能真正发挥作用 我无法限制 y 中的范围 所以想知道是否有办法将我的标签文本包含在键内或将其相对于键放置 即下面 set term png enhanced size 1024 768 set titl
  • 更改 gnuplot 中 tics 之间的实际空间

    x 轴示例 Before 10 20 30 40 After 10 20 30 40 我已经搜索了一段时间 只找到了如何尽可能简单地缩放除抽动之间的大小之外的其他所有内容 我不想改变画布大小 终端大小 抽动大小 抽动数量等 我想拉伸 x 轴
  • 以不同的采样率绘制两个函数

    我想绘制两个函数 sin x 和采样并量化的 sin x 脚本很简单 set xtic 1 set ytic 1 f1 x sin x 16 2 pi 8 round x x floor x lt 0 5 floor x ceil x pl

随机推荐