当前位置: 首页 > 知识库问答 >
问题:

在一个图中绘制两个直方图,一个w/和一个w/o误差条

东门晓博
2023-03-14

我有下面的脚本,当我在第二个数据集中有第三列时,它可以正常工作。现在,我想获得绘制的第一个带有错误条的直方图,第二个带有错误条。我可以从第二个plot命令中删除:3,但是gnuplot会抱怨没有为第二个直方图指定足够的数据。如果我删除设置样式直方图错误条 但这也会禁用第一个直方图上的错误条。有没有办法在同一个图形中绘制两个直方图,其中一个没有错误条。

set xlabel ""
set ylabel ""
set boxwidth 0.9 absolute
set style fill solid 1.00 border -1
set style histogram errorbars gap 1
set style data histograms
set yrange [-1.746917959031165368e-01:3.668527713965446857e+00]
unset key
set datafile commentschar "#"
plot '-' using 2:3:xtic(1) title "onehist",\
'-' using 2:3:xtic(1) title "otherhist"
-3.583733737468719482e-01 1.073847990483045578e-02 1.073847990483045578e-02
-3.382162153720855713e-01 2.274234220385551453e-02 1.329828426241874695e-02
2.261839509010314941e-01 2.859487235546112061e-01 8.173441886901855469e-02
e
-1.164875924587249756e-01 4.266476333141326904e-01
-9.633044153451919556e-02 5.953223109245300293e-01
-7.617329061031341553e-02 6.151663661003112793e-01
-5.601614341139793396e-02 9.624376893043518066e-01
e

共有1个答案

陆飞鸿
2023-03-14

我不确定是否可以这样做,但你可以在没有错误条的情况下绘制直方图,然后用额外的plot命令添加它们。

plot '-' using 2:xtic(1) title 'onehist',\ 
'-' using ($0-0.2):2:3 with yerrorbars lc 'black' pt 0, \
'-' using 2:xtic(1) title 'otherhist',\ 

我不完全确定如何确定实际条的范围,所以误差条没有完全居中,但这将根据要求将它们放在您的图形上。

附加命令使用yerrorbar样式(这是柱状图条的绘制方式)来绘制错误条。

然而,这并不是绘制直方图的最佳方法。Gnuplot将x轴视为一个值为0、1、2、3等的类别。因此,即使您在上面的两个列表中有不同的x值,它们也会相互叠加(第二个图将更改第一个图设置的x轴值)。

例如,我建议您使用boxes和Boxerrorbers样式。

set style fill solid
set boxwidth 0.01
plot '-' using 1:2:3 with boxerrorbars, '-' u 1:2 with boxes

或者,如果需要将错误条设置为不同的颜色,请分别绘制它们

plot '-' using 1:2 with boxes,\ 
'-' using 1:2:3 with yerrorbars lc 'black' pt 0,\
'-' u 1:2 with boxes
 类似资料:
  • 我正在学习python,而我一直坚持的是基于FLT列绘制一个直方图来指示每个过滤器。我有这个数据框: 我的目标是绘制FLT列,但要指示不同的过滤器:g、i、r和z。通过搜索如何绘制直方图,我可以根据MAG(幅值)绘制基本的直方图。理想情况下,我想要的是4种不同的颜色来表示不同的过滤器。我知道该图将有重叠的磁过滤器,但我同意它,因为我需要一个视觉,我可以放大,如果我有必要。 下面的代码是我现在拥有的

  • 使用matplotlib时,我可以使用{importmatplotlib.pyplotas plt}因为我使用Tkinter,所以我也会使用PicreCanvasTkAgg来做同样的事情 有人能帮我在如何实现matplotlib的停顿效果在菲格勒CanvasTkAgg。

  • 问题内容: 我希望我在正确的地方提出这个问题。 我有一个for循环,其中创建了许多数字。循环结束后,我想再用三个较早创建的图作为辅助图再生成一个图形。 我现在的代码是这样的: 你能帮助我吗?我可以保存整个图/图吗? 干杯,达洛。 编辑:应该看起来像这样(右边是我要实现的目标): 右边的文本应该是正常拼写的,显然… 问题是,我首先想将数字单独打印,然后再一起打印(最终我想另存为pdf / png,其

  • 我是Python新手,我对在while循环中使用if语句有一个疑问: 该代码用于编写一个数字猜测游戏,直到您输入的数字与生成的随机整数匹配为止。 示例代码编写如下: 我得到的结果是: 猜猜看:小五个!再猜3个大点!再猜一次4宾果!! 但是当我在while循环中使用if-elif或if-elif-else而不是多个if时,如果第一次猜测是错误的,随后的猜测是正确的,那么最后一个宾果!!未显示,例如:

  • 本文向大家介绍python 实现在一张图中绘制一个小的子图方法,包括了python 实现在一张图中绘制一个小的子图方法的使用技巧和注意事项,需要的朋友参考一下 有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法。 以上这篇python 实现在一张图中绘制一个小的子图方法就是小编分享给大家的

  • 我正在使用Material-用户界面-Next,并试图以一种非常特殊的方式创建图像。 我有一些相当奇怪的问题。 1-3出现在1下面 2-2和3不会填满它们的整个空间(当突出显示时,无论图像如何,只有一半的内容空间被利用) 3-有时我会得到类似以下的东西: 为了便于参考,如果您遵循此链接,那么您将转到物料ui下一个GridList文档。在高级网格列表下,您将看到一个大图像和许多小图像。我的目标是将其