我正在尝试由3个坐标组成的绘图数据集:X坐标,x坐标和出现次数.例:
1 2 10
3 1 2
3 2 1
Run Code Online (Sandbox Code Playgroud)
我想在x,y处为每一行画一个点,其直径取决于第三个值.
这可能与Gnuplot有关吗?
我正在为大学工作这个编程任务,我们必须编写一个c++程序来计算3D空间中某些线圈的磁场矢量.
我已经设法写了这个程序,我想我已经很好地工作了.
我想添加一个特殊的薄片(这是我的试卷,所以它必须特别好!):我不想绘制出矢量.
我习惯于gnuplot从c++(通过管道)打电话,这就是我通常做的事情:
.dat文件的输出流.dat由于我的数据一直是2D x和y情节,我在这里很丢失.我的问题是:
.dat文件(例如,我是否使用大括号对矢量组件进行分组?)如果我可以.dat像这样格式化文件很容易:
# Px Py Pz Bx By Bz
1 0 2 0.7 0.5 0.25 #<= example data line
... more data ...
Run Code Online (Sandbox Code Playgroud)
当点中的磁场矢量P=(1,0,2)等于矢量时B=(0.7,0.5,0.25).这很容易编程,真正的问题是:这样做吗?以及如何在gnuplot中绘制它.(哇,我猜了3次问同样的问题).
好吧,因为有人让我描述我如何管道(不知道这是否是正确的术语)gnuplot.这里是:
首先打开一个管道并调用它pipe:
FILE *pipe = popen("gnuplot -persist 2>/dev/null", "w");
Run Code Online (Sandbox Code Playgroud)告诉gnuplot管道要做什么:
fprintf(pipe, "set term x11 enhanced \n"); …Run Code Online (Sandbox Code Playgroud)例如,给定以下数据文件(此示例为x ^ 2):
0
1
4
9
16
25
Run Code Online (Sandbox Code Playgroud)
gnuplot可以绘制点以及点之间的差异,就好像它是:
0 0
1 1 # ( 1 - 0 = 1)
4 3 # ( 4 - 1 = 3)
9 5 # ( 9 - 4 = 5)
16 7 # (16 - 9 = 7)
25 9 # (25 -16 = 9)
Run Code Online (Sandbox Code Playgroud)
实际文件不仅仅包含我感兴趣的列,如果可能的话,我想避免预处理以添加增量.
我对gnuplot相对较新,我正在尝试绘制一些数据并将其保存到png文件中以获取报告.我正在使用exec("gnuplot")从java程序运行gnuplot但是每当我尝试从文件中读取数据并绘制它时,该图包含数据文件的完整路径名并将其打印在我的部分绘图上.
这使得情节看起来相当难看,不适合我的报道.是否有一个命令或其他东西我可以用来删除路径名称,还是我必须使用Photoshop在生成.png后手动渲染它?
我有以下文件(test.dat):
A 149 127
B 19 157
C 49 127
D 149 147
E 9 127
F 49 12
G 129 127
Run Code Online (Sandbox Code Playgroud)
我希望gnuplot用他们的标签绘制这些点(点位置(149,127),另一个点位于(19,157)等).我怎样才能做到这一点?
谢谢!
我正在尝试在我用Sublime Text编写的Python脚本中使用Gnuplot.每当我构建时,我都会收到错误消息
Traceback (most recent call last):
File "..." line 4, in <module>
import Gnuplot
ImportError: No module named Gnuplot
Run Code Online (Sandbox Code Playgroud)
如果我直接在终端中执行完全相同的代码行,我可以导入和使用Gnuplot.
导入错误似乎很常见,只是与其他模块一样.通常修复与PYTHONPATH有关.但是,Gnuplot在我的电脑上
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
因此应该找到.
谁能解决这个问题呢?
我的数据文件中有两列:
x y
1 5
1 10
2 3
4 5
4 6
4 14
Run Code Online (Sandbox Code Playgroud)
那就是我有一组y特定值的结果(值)x.我想生成一个带有gnuplot的图形,它显示上面显示的所有数据点和一条经过它们平均值的曲线:
x y
1 (5+10)/2
2 3
4 (5+6+14)/4
Run Code Online (Sandbox Code Playgroud)
这应该相当简单,但我找不到它.
我怎样才能做到这一点?
我有一个3列的文件,前两个是位置xy和第三个我用它来定义颜色所以我有这样的东西:
set palette model RGB defined ( 1 'black', 2 'blue', 3 'green', 4 'red')
unset colorbox
plot "file" u 2:1:3 w points pt 14 ps 2 palette, "file2" u 2:1:3 w points pt 14 ps 2 palette
Run Code Online (Sandbox Code Playgroud)
现在的问题是:是否有可能有这种点和颜色的正确传说?由于这些点将具有不同的颜色(根据托盘),我想指定图例中每种颜色的含义.
我想到的唯一解决方案是在图中的某处写一些带有点的字符的文本(在本例中为第14页)并指定颜色......但这不是真正的解决方案吗?
所以请帮忙!
使用OpenTSDB,我们捕获每秒通过网络接口发送的字节数.绘制这些图形时,Y轴具有科学记数法(即5e + 07).y轴格式选项的帮助文本表明它可用于将字节转换为兆字节或千兆字节 - 并引用GNU Plot文档的格式说明符部分.我已经读过了,但我仍然不清楚如何转换这些值.我找不到人们通过设置Y轴格式完成对话的任何示例.
我在很多地方进行了搜索,并没有找到一种方法来实现我想用MATLAB实现的目标:将键(文本标签)放在MATLAB图例中颜色线的左侧.
我想实现这个结果,这是默认结果,例如使用gnuplot(参见上面的链接),显然可以使用MATLAB的堂兄Octave(参见Octave'slegend),可以选择这样做legend("left")"将[s]标签文本添加到钥匙的左边."
是否可以使用MATLAB完成?