schema: EconSchema aspectRatio: 1.8 params: - name: B value: 2 min: 1 max: 3 round: 0.1 - name: e value: 0 min: -5 max: 7 round: 0.1 - name: t value: 0 min: 0 max: 50 round: 0.1 - name: a value: 0.5 min: 0.1 max: 1 round: 0.01 calcs: CMg: (params.B*(calcs.Qeq)-5) DEM1: ((80-2(calcs.Qeq1)+params.e)) DEM: ((80-2(calcs.Qeq)+params.e)) Qeq1: (((85+(params.e)-(0))/(2+params.B))) Qeq: (((85+(params.e)-(params.t))/(2+params.B))) CMg2: ((params.B*(50))-5) CMg3inv: ((95+5-(params.t))/(params.B)) CMg4: ((params.B*(calcs.CMg3inv))-5) CMg3: ((params.B*(50))-5+params.t) D: ((80-2(35)+params.e)) pi: (calcs.RT-calcs.CT) RTrib: ((params.t)*((85+(params.e)-(params.t))/(2+params.B))) layout: TwoHorizontalGraphsPlusSidebar: leftGraph: xAxis: min: 0 max: 50 ticks: 4 yAxis: min: 0 max: 100 ticks: 4 objects: #Curva de Demanda - Curve: fn: "(80-2x+params.e)" ind: x color: blue min: 0 max: 180 lineStyle: solid strokeWidth: 4 samplePoints: 250 #Curva de Oferta - Curve: fn: "((params.B*x)-5)" ind: x color: red strokeWidth: 4 samplePoints: 300 #Curva de Oferta + Impostos - Curve: fn: "(((params.B)*x)-5+params.t)" ind: x color: red strokeWidth: 4 samplePoints: 300 - Segment: a: [36, calcs.D] b: [36, calcs.D] color: white bgcolor: "'#1f77b4'" label: text: "`DEM: P(Q)`" position: l - Segment: a: [1,calcs.CMg] b: [1,calcs.DEM] color: supply bgcolor: none strokeWidth: 3 endArrow: true label: text: "`t:(\\\\$)\\\\ ${params.t.toFixed(1)}`" position: r fontSize: 10 - Segment: a: [35, calcs.CMg2] b: [35, calcs.CMg2] color: white bgcolor: "'#d62728'" label: text: CMg position: l - Segment: a: [calcs.CMg3inv, 95] b: [calcs.CMg3inv, 95] color: white bgcolor: "'#d62728'" show: (params.t>0) label: text: CMg' position: r - Segment: a: [0, 100] b: [0, 100] color: black label: text: P position: r - Segment: a: [47, 0] b: [47, 0] color: black label: text: Q position: tl - Segment: a: [0, calcs.DEM] b: [0, calcs.DEM] color: black bgcolor: green label: text: "`(\\\\$)\\\\ ${calcs.DEM.toFixed(1)}`" position: r - Segment: a: [0, calcs.CMg] b: [0, calcs.CMg] color: black bgcolor: green label: text: "`(\\\\$)\\\\ ${calcs.CMg.toFixed(1)}`" position: r - Segment: a: [calcs.Qeq, 0] b: [calcs.Qeq, 0] color: black bgcolor: green label: text: "`${calcs.Qeq.toFixed(2)}`" position: t - Point: coordinates: [calcs.Qeq, calcs.DEM] color: black r: 5 - Point: coordinates: [calcs.Qeq, calcs.CMg] color: black r: 5 - Point: coordinates: [calcs.Qeq1, calcs.DEM1] color: black r: 5 - Segment: a: [0, calcs.DEM] b: [calcs.Qeq, calcs.DEM] color: green lineStyle: dashed strokeWidth: 3 show: (params.t>0) - Segment: a: [0, calcs.DEM1] b: [calcs.Qeq1, calcs.DEM1] color: green lineStyle: dashed strokeWidth: 3 show: (params.t==0) - Segment: a: [calcs.Qeq, 0] b: [calcs.Qeq, calcs.DEM] color: green lineStyle: dashed strokeWidth: 3 - Segment: a: [0, calcs.CMg] b: [calcs.Qeq, calcs.CMg] color: green lineStyle: dashed strokeWidth: 3 show: (params.t>0) - Area: fn1: "((80-2x+params.e))" fn2: "((params.B*x)-5)" fill: grey opacity: 0.8 min: calcs.Qeq max: calcs.Qeq1 - Area: fn1: "(calcs.DEM)" fn2: "(calcs.CMg)" fill: supply opacity: 0.4 min: 0 max: calcs.Qeq - Label: coordinates: [((17+calcs.Qeq)/2),(calcs.DEM+calcs.CMg)/2] text: DWL bgcolor: grey color: white fontSize: 9 position: b4 show: ((calcs.Qeq-calcs.Qeq1) < 0) - Label: coordinates: [((calcs.Qeq-2)/2),((calcs.DEM1))] text: RTrib bgcolor: "'#fc7e0f'" color: white fontSize: 9 position: b4 show: ((calcs.Qeq-calcs.Qeq1) < 0) rightGraph: xAxis: min: 0 max: 100 ticks: 4 yAxis: min: 0 max: 650 ticks: 4 objects: #Curva de Receita Tributária - Curve: fn: "((x)*((85+params.e-(x))/(2+params.B)))" ind: x color: supply min: 0 max: 180 lineStyle: solid strokeWidth: 4 samplePoints: 250 - Point: coordinates: [params.t, calcs.RTrib] color: black r: 5 - Segment: a: [0, calcs.RTrib] b: [params.t, calcs.RTrib] color: green lineStyle: dashed strokeWidth: 3 - Segment: a: [params.t, 0] b: [params.t, calcs.RTrib] color: green lineStyle: dashed strokeWidth: 3 - Segment: a: [0, calcs.RTrib] b: [0, calcs.RTrib] color: white bgcolor: "'#fc7e0f'" show: (params.t>5) label: text: "`(\\\\$)\\\\ ${calcs.RTrib.toFixed(2)}`" position: r - Segment: a: [params.t, 0] b: [params.t, 0] color: black bgcolor: green show: (params.t>5) label: text: params.t.toFixed(1) position: t - Segment: a: [0, 650] b: [0, 650] color: black bgcolor: white label: text: "`RTrib`" position: r - Segment: a: [100, 10] b: [100, 10] color: black bgcolor: white label: text: \ \ \ t fontSize: 11 position: t sidebar: controls: - title: Curva de Laffer — Maximização de Receita Tributária sliders: - param: B label: \beta digits: 2 - param: e label: \\e digits: 4 - param: t label: t digits: 4