Ask Your Question

highlighting specific regions in a plot

asked 2023-01-01 15:29:08 +0100

moon gravatar image

I'm working on displayind*g the regions where a specific condition between two functions. As an example I want to color or highlight in a way or another the areas where let's say where x/ f(x)<g(x)< p="">

f(x)=sin(2*x + 3)
g(x)=2*cos(2*x + 2)

How can I approach that ? Thx for any kind of hint.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2023-01-01 20:35:33 +0100

achrzesz gravatar image

What about

f(x)=sin(2*x + 3)
g(x)=2*cos(2*x + 2)
x0=find_root(h, -3,-1)
x1=find_root(h, -1,0)
edit flag offensive delete link more


Excellent ! That's a very nice starting point for me. In fact we cannot identify where (in this example) f(x)=g(x) therefore a need to tell where to look at. May be making a loop over small intervals could work in simple case. This is by no mean a general solution by def. Thx a lot. appreciated !

moon gravatar imagemoon ( 2023-01-02 18:54:55 +0100 )edit

Examples like sin(1/x), cos(1/x) are overwhelming.

achrzesz gravatar imageachrzesz ( 2023-01-02 20:31:25 +0100 )edit

answered 2023-01-04 01:41:24 +0100

Juanjo gravatar image

updated 2023-01-04 01:43:51 +0100

To complement the answer by @achrzesz, let us point out two additional approaches to fill exactly the region between the curves $y=f(x)$ and $y=g(x)$ where $f(x)\leq g(x)$, with $x$ in a given interval $[a,b]$, that is, the region
$$\{(x,y)\in\mathbb{R}^2 \mid a\leq x\leq b,\ f(x)\leq y\leq g(x)\}.$$ First method:

f(x) = sin(2*x+3)
g(x) = 2*cos(2*x+2)
pf = plot(f(x), (x,-3,3), color="red", fill=max_symbolic(f(x),g(x)), 
pg = plot(g(x), (x,-3,3), color="blue")

Second method:

p = plot([f(x),g(x)], (x,-3,3), color=["red","blue"])
r = region_plot([f(x)<y, y<g(x)], (x,-3,3), (y,-2,2), 
                incol="lightgreen", plot_points=[100,100])

See this SageMath Cell

edit flag offensive delete link more


If the user doesn't want to know where the intersections are placed, the method by @Juanjo is nicer

achrzesz gravatar imageachrzesz ( 2023-01-04 10:12:37 +0100 )edit

your method assume that we know roughly where the solutions are. which I fully understanding. the one from from @Juanjo is likely based on numerical aprox. I might be wrong. In any case thx a lot for both !

moon gravatar imagemoon ( 2023-01-04 13:52:17 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2023-01-01 15:29:08 +0100

Seen: 153 times

Last updated: Jan 04 '23