Refactor reChart function to make plot_object settings changeable#112
Open
erichung0404 wants to merge 4 commits intojoshuaulrich:masterfrom
Open
Refactor reChart function to make plot_object settings changeable#112erichung0404 wants to merge 4 commits intojoshuaulrich:masterfrom
erichung0404 wants to merge 4 commits intojoshuaulrich:masterfrom
Conversation
plot_object$subset doesn't work for plot.xts based object. The issue occurs in xts:::chart.lines where it calls "lines" to create original series for x by plot_object$Env$xycoords$x and the subset series for y. So it returns an error: "'x' and 'y' lengths differ." See issue joshuaulrich#146.
To allow "subset" to work, new chart.lines function is given to handle 'x' and 'y' length differ error occurred in lines(xx$Env$xycoords$x, ...).
Different from zoom_Chart() for chart_Series, range.bars.type is specified only if type is given when reChart is called. If length of the series is greater than 300 range.bars.type will be "matchsticks" but, when zoomChart is called, even if the length of the subset series is lower than 300 range.bars.type doesn't change because users cannot specify type in zoomChart. Type of the bars should be able to change with the length of the subset series.
A warning occurred when we specify "last n months" to x[subset]. It throws warnings: NAs introduced by coercion. Since we consider the length of subset series to determine the range.bars type, handling for subset should be done before type. By doing so, subset is well-handled to numeric vector. Change bbands to BBands to coordinate with addBBands() function.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
reChart function is the base function called by
zoomChart()andzooom().Since plot_object$subset didn't seem to work for plot.xts based object, special handling is provided to fix unequal length issue and make x-axis and y-axis value changeable. The issue occurs in
xts:::chart.lines()function which callslines()to draw original price series for x by plot_object$Env$xycoords$x and the subset series for y. So it throws error: "'x' and 'y' lengths differ." See issue joshuaulrich/xts#146 for more detailed information.