Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在GNUPlot中绘制环空段_Gnuplot_Visualization_Graphing_Javaplot - Fatal编程技术网

在GNUPlot中绘制环空段

在GNUPlot中绘制环空段,gnuplot,visualization,graphing,javaplot,Gnuplot,Visualization,Graphing,Javaplot,我想使用GNUPlot在极坐标图中为特定区域着色。该区域以R(r1,r2)和θ(t1,t2)为界,因此最终形状为环形段,仅由极性空间中的4个点定义 在笛卡尔图中,绘制矩形非常容易,可以通过(set object rect)或带有4个顶点的闭合形状的填充曲线。但是,极坐标图中由4个点指定的填充曲线形状仍然会产生四边形(具有常数R的线应为圆弧,而不是直线) 有没有简单或直接的方法在极坐标系中绘制此形状?我尝试过使用两个圆弧,然后填充它们之间的空间,但到目前为止,这并没有正常工作,我不确定是否有更好的

我想使用GNUPlot在极坐标图中为特定区域着色。该区域以R(r1,r2)和θ(t1,t2)为界,因此最终形状为环形段,仅由极性空间中的4个点定义

在笛卡尔图中,绘制矩形非常容易,可以通过
(set object rect)
或带有4个顶点的闭合形状的
填充曲线。但是,极坐标图中由4个点指定的填充曲线形状仍然会产生四边形(具有常数R的线应为圆弧,而不是直线)


有没有简单或直接的方法在极坐标系中绘制此形状?我尝试过使用两个圆弧,然后填充它们之间的空间,但到目前为止,这并没有正常工作,我不确定是否有更好的方法来实现这一点。

不幸的是,这并不太容易。可以设置指定开始和结束角度的
对象。要剪切中心部分,必须在上方绘制第二个白色圆圈:

set xrange [-1:1]
set yrange [-1:1]
set size ratio -1

r1 = 0.5
r2 = 1
theta1 = -30
theta2 = 60

set angles degrees
set style fill solid noborder
set object circle at first 0,0 front size r2 arc [theta1:theta2] fillcolor lt 1
set object circle at first 0,0 front size r1 fillcolor rgb 'white'

plot -10 notitle
在这里,x轴和y轴必须具有相同的单位(
设置大小比-1
),因为圆对象是以第一个x轴的单位定义的,根本不考虑y轴。如果没有任何其他要打印的内容,则必须使用
plot
命令打印超出定义范围的内容。如果没有打印,则不会绘制对象

4.6.5的结果是:

在即将推出的5.0版本中,您可以将伪数据(具有特殊文件名
+
)与
填充曲线
打印样式一起使用:

r1 = 0.5
r2 = 1.0
theta1 = 20
theta2 = 135
set polar
set angles degrees
set size ratio -1
unset raxis
unset rtics
set trange [theta1:theta2]
set style fill solid noborder
plot '+' using 1:(r1):(r2) with filledcurves notitle