如何在gnuplot中创建自定义填充样式?

里克斯

基本上,我想在gnuplot的下图中重现填充样式: 在此处输入图片说明

我尝试使用带有填充曲线的通用模式,但是没有一个模式与图片中的相似。有没有办法在gnuplot中获得这种类型的模式(注意填充区域不是实心的)?谢谢。

西奥日

help filledcurves根据方案检查颜色并将其设置为透明0xAARRGGBB

码:

### semitransparent fill between curves
reset session

# create some random test data
set print $Data1
    do for [x=1:100] { print sprintf("%g %g %g %g",x,5*cos(x/7.)+rand(0),rand(0)+0.3,rand(0)+0.3) }
set print
set print $Data2
    do for [x=1:100] { print sprintf("%g %g %g %g",x,3*sin(x/9.)+rand(0),rand(0)+0.3,rand(0)+0.3) }
set print
unset key

plot $Data1 u 1:2 w l lc "red", \
     ''    u 1:($2-$3):($2+$4) w filledcurve lc rgb 0xeeff0000, \
     $Data2 u 1:2 w l lc "blue", \
     ''    u 1:($2-$3):($2+$4) w filledcurve lc rgb 0xee0000ff
### end of code

结果:

在此处输入图片说明

加法:(垂直虚线“填充”的解决方法)

To be honest, (as in your case) if you have to zoom in very close to see the difference between a semitransparent fill and a "fill" with vertical lines, then I'm not sure whether this is really necessary.

Anyway, here is a workaround for a "fill" of vertical dashed lines. This is realized with vectors and dashed lines dt 1 (=solid), dt 2 (=dashed), dt 3 (=dotted). However, this is not a real fill but requires enough regular (here: 1000) data points to give this impression. It also depends on transparency of the linecolor and the size of the graph. If you don't have enough regular datapoints you could resample your data, however, this is not straightforward in gnuplot (see: Resampling data with gnuplot),

这看起来仍然与您的示例不尽相同,但是更加接近。

码:

### special "fill" with dashed vertical lines
reset session

# create some random test data
set table $Data1
    set samples 1000
    plot [1:100] '+' u (x):(3*cos(x/5.)):(rand(0)*0.5+0.3):(rand(0)*0.5+0.3) w table
set table $Data2
    set samples 1000
    plot [1:100] '+' u (x):(5*sin(x/7.)):(rand(0)*0.5+0.3):(rand(0)*0.5+0.3) w table
set table $Data3
    set samples 1000
    plot [1:100] '+' u (x):(7*sin(x/9.)):(rand(0)*0.5+0.3):(rand(0)*0.5+0.3) w table
unset table

unset key
plot $Data1 u 1:2 w l lc "red", \
     ''    u 1:($2-$3):(0):(1) w vectors lc rgb 0xddff0000 dt 1 nohead, \
     $Data2 u 1:2 w l lc "green", \
     ''    u 1:($2-$3):(0):($4+$3) w vectors lc rgb 0xdd00ff00 dt 2 nohead, \
     $Data3 u 1:2 w l lc "blue", \
     ''    u 1:($2-$3):(0):($4+$3) w vectors lc rgb 0xdd0000ff dt 3 nohead 
### end of code

结果:

在此处输入图片说明

放大以显示虚线:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ActiveAdmin gem中创建自定义页面

来自分类Dev

如何在AngularJs服务中创建自定义事件

来自分类Dev

如何在Laravel 4中创建自定义外观

来自分类Dev

如何在Android中创建自定义导航抽屉

来自分类Dev

如何在图表中设置自定义填充颜色

来自分类Dev

如何在android中创建自定义渐变?

来自分类Dev

如何在Moodle中创建自定义表单?

来自分类Dev

如何在Drupal 7中创建自定义块?

来自分类Dev

如何在JavaFX CSS中创建自定义边框样式?

来自分类Dev

如何在Powershell中创建自定义数组?

来自分类Dev

如何在Django中创建自定义选择字段?

来自分类Dev

如何在SpriteKit中创建自定义混合模式

来自分类Dev

如何在IDE菜单中添加自定义样式?

来自分类Dev

如何在C#中创建自定义事件

来自分类Dev

如何在Nginx中创建自定义位置?

来自分类Dev

如何在dart中创建自定义元素?

来自分类Dev

如何在AMPL中创建自定义函数?

来自分类Dev

如何在Android应用程序(Java)中创建自定义Google Maps样式

来自分类Dev

如何在C ++中创建自定义整数序列

来自分类Dev

如何在angular中创建自定义指令

来自分类Dev

如何在Python中创建自定义分组视图?

来自分类Dev

如何在Shopify中创建自定义Web挂钩

来自分类Dev

如何在RMarkdown中创建自定义块?

来自分类Dev

如何在Flutter中创建自定义日历

来自分类Dev

如何在Flutter中创建自定义列表?

来自分类Dev

如何在图表中自定义样式数据标签?

来自分类Dev

如何在自定义过渡中更新StatusBar样式

来自分类Dev

如何在branch.io中更改深度视图html页面的样式?(创建自定义样式)

来自分类Dev

如何创建自定义样式?

Related 相关文章

热门标签

归档