
Now the key is to fire up twoway scatteri but to recast the two points (in this case) to a line. In other examples, this may be dispensable. The technique below is more general in not assuming that the added line need be horizontal.įirst for convenience, we calculate the endpoints of the line and put them in local macros. One way to do that is just to define a variable which is constant and plot it as a line graph. So, to subvert that you have to supply your line as data. In essence, the idea behind yline() and similar options is to supply reference lines, which are never to be plotted on top of the data. Is it possible to force Stata to place this horizontal line on top of all other plots in the graph?
#Add xline stata series#
The horizontal line is obscured by the shading because the shading is created first, but I need the shading to be created first because otherwise, it obscures the plot of the time series (since Stata doesn't support transparency/alpha blending).
#Add xline stata code#
In practice, the indicator variable could be anything, which is why I don't want to hard code the values to shade in the twoway command, as seen in this Statalist post or the nber plugin in the SSC. Ly_dev is the time series, and USRECQ is the indicator variable. Ytitle("Deviation from trend", axis(2))),
#Add xline stata install#
Here is an example, using the freduse plugin ( ssc install freduse, replace): freduse GDPC1 USRECQ, clear I want to draw a horizontal line at the point on the y-axis where the time series equals 0. Time periods are shaded if the indicator variable equals 1, and not shaded if it's missing.
#Add xline stata windows#
Of the year.I'm graphing a time series and shading certain time periods based on a Boolean indicator variable in Stata 13.1 on Windows 7. Here we graph just the data for the first half We can use if tin() to specify a range of date values that

The tline() option also understands that the x axis isĬomposed of dates and can be used to place lines at particular dates. graph twoway tsline high low, tlabel(01apr2001 01jul2001 01oct2001, format(%tdmd) ) Here we change the format of the date to be month and day. Option where we can supply in valid format that we would supply We can change the format of the display of the date variable using the format() graph twoway tsline high low, tlabel(01apr2001 01jul2001 01oct2001) Ttick(), tmlabel(), tmtick(), and tscale(), seeĭetails. Other options that can be used in a similar way include For example, say that we wanted the x axis to be labeled Understand that the x axis is a date variable and are much easier to In addition to these benefits, there are options we can use that Next, note that the labels for the xĪxis are labeled much better with more logical values having been chosen.

This is because Stata knew, from the tsset command, what the time Note that we did not need to specify date in the command. Now we can use graph twoway tsline to graph the data. Time variable: date, 02jan2001 to 31dec2001, but with gaps To tell Stata that the variable date represents time and that its Graph twoway line we can use graph twoway tsline which is specifically designed for making line graphs where the Labeling the x axis since these are date values.

Also, it could be difficult to change the values Properly labeled with the dates, but the selection of the values labeling thisĪxis could be better. We could use the graph twoway line command to graph the high and low closing price for the year, as shown below. High and low trading price for a given day and date which is a date This file has variables like high and low that represents the This data file contains data for all of the trading days in 2001. This FAQ shows examples of graphing data where the x axis represents dates.įor these examples, we will use the sp500 dataįile that comes with Stata and we can use it via the sysuse command.
