{"action":"created","issue":{"url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/issues/617","labels_url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/issues/617/labels{/name}","comments_url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/issues/617/comments","events_url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/issues/617/events","html_url":"https://github.com/matlab2tikz/matlab2tikz/issues/617","id":68348549,"number":617,"title":"Tackle all TODOs and FIXMEs in the code","user":{"login":"egeerardyn","id":177360,"avatar_url":"https://avatars.githubusercontent.com/u/177360?v=3","gravatar_id":"","url":"https://api.github.com/users/egeerardyn","html_url":"https://github.com/egeerardyn","followers_url":"https://api.github.com/users/egeerardyn/followers","following_url":"https://api.github.com/users/egeerardyn/following{/other_user}","gists_url":"https://api.github.com/users/egeerardyn/gists{/gist_id}","starred_url":"https://api.github.com/users/egeerardyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egeerardyn/subscriptions","organizations_url":"https://api.github.com/users/egeerardyn/orgs","repos_url":"https://api.github.com/users/egeerardyn/repos","events_url":"https://api.github.com/users/egeerardyn/events{/privacy}","received_events_url":"https://api.github.com/users/egeerardyn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/labels/ready-for-action","name":"ready-for-action","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-04-14T11:48:04Z","updated_at":"2015-04-18T15:46:13Z","closed_at":null,"body":"We have lots of `TODO`s and `FIXME`s in our code. They will have to go. \r\n\r\nI've used the `TodoReview` plugin of SublimeText to generate the report below (though MATLAB has similar functionality). Links to the code here are just for convenience and not guaranteed to be perfectly in sync.\r\n\r\n## FIXME (54)\r\n\r\n  * [ ] [src/matlab2tikz.m:380](../blob/develop/src/matlab2tikz.m#L380)             See #471\r\n  * [ ] [src/matlab2tikz.m:745](../blob/develop/src/matlab2tikz.m#L745)             this part (e.g. fall back objects) should be restructured.\r\n  * [ ] [src/matlab2tikz.m:927](../blob/develop/src/matlab2tikz.m#L927)             axis background, axis grid, main, axis ticks, axis lines, axis tick labels, axis descriptions, axis foreground\r\n  * [ ] [src/matlab2tikz.m:3613](../blob/develop/src/matlab2tikz.m#L3613)            external\r\n  * [ ] [src/matlab2tikz.m:4042](../blob/develop/src/matlab2tikz.m#L4042)            can we get sampled horizontal color bars to work?\r\n  * [ ] [src/matlab2tikz.m:4043](../blob/develop/src/matlab2tikz.m#L4043)            sampled colorbars should be inferred, not by using strict!\r\n  * [ ] [src/matlab2tikz.m:5108](../blob/develop/src/matlab2tikz.m#L5108)            this function is currently unused -- remove it in the future?\r\n  * [ ] [src/matlab2tikz.m:5462](../blob/develop/src/matlab2tikz.m#L5462)            Only append '{}' if there's an odd number of backslashes\r\n  * [ ] [test/saveHashTable.m:31](../blob/develop/test/saveHashTable.m#L31)           when does this happen??\r\n  * [ ] [private/execute_plot_stage.m:24](../blob/develop/private/execute_plot_stage.m#L24)  implement #484 to get access to the meta data\r\n  * [ ] [suites/ACID.m:189](../blob/develop/suites/ACID.m#L189)                investigate\r\n  * [ ] [suites/ACID.m:286](../blob/develop/suites/ACID.m#L286)                investigate\r\n  * [ ] [suites/ACID.m:353](../blob/develop/suites/ACID.m#L353)                inspect this\r\n  * [ ] [suites/ACID.m:515](../blob/develop/suites/ACID.m#L515)                investigate\r\n  * [ ] [suites/ACID.m:524](../blob/develop/suites/ACID.m#L524)                investigate\r\n  * [ ] [suites/ACID.m:538](../blob/develop/suites/ACID.m#L538)                investigate\r\n  * [ ] [suites/ACID.m:585](../blob/develop/suites/ACID.m#L585)                investigate\r\n  * [ ] [suites/ACID.m:586](../blob/develop/suites/ACID.m#L586)                this generates many \"division by zero\" in Octave\r\n  * [ ] [suites/ACID.m:699](../blob/develop/suites/ACID.m#L699)                investigate\r\n  * [ ] [suites/ACID.m:734](../blob/develop/suites/ACID.m#L734)                investigate\r\n  * [ ] [suites/ACID.m:743](../blob/develop/suites/ACID.m#L743)                investigate\r\n  * [ ] [suites/ACID.m:752](../blob/develop/suites/ACID.m#L752)                investigate\r\n  * [ ] [suites/ACID.m:760](../blob/develop/suites/ACID.m#L760)                investigate\r\n  * [ ] [suites/ACID.m:770](../blob/develop/suites/ACID.m#L770)                investigate\r\n  * [ ] [suites/ACID.m:782](../blob/develop/suites/ACID.m#L782)                investigate\r\n  * [ ] [suites/ACID.m:884](../blob/develop/suites/ACID.m#L884)                investigate\r\n  * [ ] [suites/ACID.m:979](../blob/develop/suites/ACID.m#L979)                investigate\r\n  * [ ] [suites/ACID.m:1009](../blob/develop/suites/ACID.m#L1009)               investigate\r\n  * [ ] [suites/ACID.m:1048](../blob/develop/suites/ACID.m#L1048)               investigate\r\n  * [ ] [suites/ACID.m:1065](../blob/develop/suites/ACID.m#L1065)               investigate\r\n  * [ ] [suites/ACID.m:1077](../blob/develop/suites/ACID.m#L1077)               This opens a new figure that doesn't get closed automatically\r\n  * [ ] [suites/ACID.m:1095](../blob/develop/suites/ACID.m#L1095)               This opens a new figure that doesn't get closed automatically\r\n  * [ ] [suites/ACID.m:1207](../blob/develop/suites/ACID.m#L1207)               investigate\r\n  * [ ] [suites/ACID.m:1219](../blob/develop/suites/ACID.m#L1219)               investigate\r\n  * [ ] [suites/ACID.m:1249](../blob/develop/suites/ACID.m#L1249)               investigate\r\n  * [ ] [suites/ACID.m:1301](../blob/develop/suites/ACID.m#L1301)               investigate\r\n  * [ ] [suites/ACID.m:1328](../blob/develop/suites/ACID.m#L1328)               investigate\r\n  * [ ] [suites/ACID.m:1347](../blob/develop/suites/ACID.m#L1347)               investigate\r\n  * [ ] [suites/ACID.m:1669](../blob/develop/suites/ACID.m#L1669)               investigate\r\n  * [ ] [suites/ACID.m:1686](../blob/develop/suites/ACID.m#L1686)               investigate\r\n  * [ ] [suites/ACID.m:1734](../blob/develop/suites/ACID.m#L1734)               investigate\r\n  * [ ] [suites/ACID.m:1744](../blob/develop/suites/ACID.m#L1744)               investigate\r\n  * [ ] [suites/ACID.m:1802](../blob/develop/suites/ACID.m#L1802)               investigate\r\n  * [ ] [suites/ACID.m:1834](../blob/develop/suites/ACID.m#L1834)               investigate\r\n  * [ ] [suites/ACID.m:1899](../blob/develop/suites/ACID.m#L1899)               investigate\r\n  * [ ] [suites/ACID.m:1944](../blob/develop/suites/ACID.m#L1944)               investigate\r\n  * [ ] [suites/ACID.m:1975](../blob/develop/suites/ACID.m#L1975)               investigate\r\n  * [ ] [suites/ACID.m:2018](../blob/develop/suites/ACID.m#L2018)               investigate\r\n  * [ ] [suites/ACID.m:2085](../blob/develop/suites/ACID.m#L2085)               investigate\r\n  * [ ] [suites/ACID.m:2132](../blob/develop/suites/ACID.m#L2132)               investigate\r\n  * [ ] [suites/ACID.m:2218](../blob/develop/suites/ACID.m#L2218)               investigate\r\n  * [ ] [suites/ACID.m:2413](../blob/develop/suites/ACID.m#L2413)               investigate\r\n  * [ ] [suites/ACID.m:2444](../blob/develop/suites/ACID.m#L2444)               investigate\r\n  * [ ] [suites/ACID.m:2488](../blob/develop/suites/ACID.m#L2488)               this test is unreliable because the x/y lims of `ax2` are not set\r\n\r\n## TODO (35)\r\n\r\n  * [ ] [src/matlab2tikz.m:561](../blob/develop/src/matlab2tikz.m#L561)             fix for octave\r\n  * [ ] [src/matlab2tikz.m:899](../blob/develop/src/matlab2tikz.m#L899)             has{XYZ}Grid is always false without a good reason\r\n  * [ ] [src/matlab2tikz.m:921](../blob/develop/src/matlab2tikz.m#L921)             use proper grid ordering\r\n  * [ ] [src/matlab2tikz.m:1107](../blob/develop/src/matlab2tikz.m#L1107)            How to uniquely connect a legend with a pair of axes in Octave?\r\n  * [ ] [src/matlab2tikz.m:1120](../blob/develop/src/matlab2tikz.m#L1120)            The following logic does not work for 3D plots.\r\n  * [ ] [src/matlab2tikz.m:1402](../blob/develop/src/matlab2tikz.m#L1402)            Don't hardcode \"10\".\r\n  * [ ] [src/matlab2tikz.m:1533](../blob/develop/src/matlab2tikz.m#L1533)            pre-allocate the cell array such that it doesn't grow during the loop\r\n  * [ ] [src/matlab2tikz.m:1534](../blob/develop/src/matlab2tikz.m#L1534)            scale `maxChunkLength` with the number of columns in the data array\r\n  * [ ] [src/matlab2tikz.m:1854](../blob/develop/src/matlab2tikz.m#L1854)            is the above \"crcr\" compatible with pgfplots 1.12 ?\r\n  * [ ] [src/matlab2tikz.m:1855](../blob/develop/src/matlab2tikz.m#L1855)           is a \"patch table\" externalizable?\r\n  * [ ] [src/matlab2tikz.m:1894](../blob/develop/src/matlab2tikz.m#L1894)           this function can probably be split further, just look at all those\r\n  * [ ] [src/matlab2tikz.m:1966](../blob/develop/src/matlab2tikz.m#L1966)           probably this should be integrated with getAndCheckDefault etc.\r\n  * [ ] [src/matlab2tikz.m:2522](../blob/develop/src/matlab2tikz.m#L2522)           rewrite drawTextarrow. Handle all info info directly\r\n  * [ ] [src/matlab2tikz.m:2872](../blob/develop/src/matlab2tikz.m#L2872)           handle Curvature = [0.8 0.4]\r\n  * [ ] [src/matlab2tikz.m:3112](../blob/develop/src/matlab2tikz.m#L3112)           Get this in order as soon as Pgfplots can do \"scatter rgb\".\r\n  * [ ] [src/matlab2tikz.m:3192](../blob/develop/src/matlab2tikz.m#L3192)           Hm, can't deal with this?\r\n  * [ ] [src/matlab2tikz.m:3267](../blob/develop/src/matlab2tikz.m#L3267)           Get rid of code duplication with 'drawAxes'.\r\n  * [ ] [src/matlab2tikz.m:3282](../blob/develop/src/matlab2tikz.m#L3282)           wait for pgfplots to implement other base values (see #438)\r\n  * [ ] [src/matlab2tikz.m:3491](../blob/develop/src/matlab2tikz.m#L3491)           Get rid of code duplication with 'drawAxes'.\r\n  * [ ] [src/matlab2tikz.m:3602](../blob/develop/src/matlab2tikz.m#L3602)           Look into replacing this by something more 'local',\r\n  * [ ] [src/matlab2tikz.m:3699](../blob/develop/src/matlab2tikz.m#L3699)           this can be simplified using sort\r\n  * [ ] [src/matlab2tikz.m:3738](../blob/develop/src/matlab2tikz.m#L3738)           this can be vectorized\r\n  * [ ] [src/matlab2tikz.m:3875](../blob/develop/src/matlab2tikz.m#L3875)           check this\r\n  * [ ] [src/matlab2tikz.m:4017](../blob/develop/src/matlab2tikz.m#L4017)           HG2: colorbar ticks and colorbar tick labels\r\n  * [ ] [src/matlab2tikz.m:4110](../blob/develop/src/matlab2tikz.m#L4110)           move to top\r\n  * [ ] [src/matlab2tikz.m:4419](../blob/develop/src/matlab2tikz.m#L4419)           Implement these.\r\n  * [ ] [src/matlab2tikz.m:4434](../blob/develop/src/matlab2tikz.m#L4434)           shouldn't this include units?\r\n  * [ ] [src/matlab2tikz.m:5146](../blob/develop/src/matlab2tikz.m#L5146)           check if relevant Axes or all Axes are better.\r\n  * [ ] [test/codeReport.m:46](../blob/develop/test/codeReport.m#L46)             handle all mlint messages and/or other metrics of the code\r\n  * [ ] [test/saveHashTable.m:11](../blob/develop/test/saveHashTable.m#L11)          handle multiple test suites in a single array\r\n  * [ ] [suites/ACID.m:1405](../blob/develop/suites/ACID.m#L1405)               fully test tex conversion instead of a random subsample!\r\n  * [ ] [suites/ACID.m:1726](../blob/develop/suites/ACID.m#L1726)               On processing the matlab2tikz_acidtest output, LaTeX complains\r\n  * [ ] [suites/ACID.m:1760](../blob/develop/suites/ACID.m#L1760)               do we really need this TriScatteredInterp?\r\n  * [ ] [suites/ACID.m:2522](../blob/develop/suites/ACID.m#L2522)               later replace by 'isHG2()'\r\n  * [ ] [suites/ACID.m:2564](../blob/develop/suites/ACID.m#L2564)               later replace by 'isHG2()'\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/issues/comments/94175416","html_url":"https://github.com/matlab2tikz/matlab2tikz/issues/617#issuecomment-94175416","issue_url":"https://api.github.com/repos/matlab2tikz/matlab2tikz/issues/617","id":94175416,"user":{"login":"okomarov","id":3731173,"avatar_url":"https://avatars.githubusercontent.com/u/3731173?v=3","gravatar_id":"","url":"https://api.github.com/users/okomarov","html_url":"https://github.com/okomarov","followers_url":"https://api.github.com/users/okomarov/followers","following_url":"https://api.github.com/users/okomarov/following{/other_user}","gists_url":"https://api.github.com/users/okomarov/gists{/gist_id}","starred_url":"https://api.github.com/users/okomarov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okomarov/subscriptions","organizations_url":"https://api.github.com/users/okomarov/orgs","repos_url":"https://api.github.com/users/okomarov/repos","events_url":"https://api.github.com/users/okomarov/events{/privacy}","received_events_url":"https://api.github.com/users/okomarov/received_events","type":"User","site_admin":false},"created_at":"2015-04-18T15:46:13Z","updated_at":"2015-04-18T15:46:13Z","body":"As @egeerardyn  points out, pgfplots page 354 `\\pgfplotssetlayers{<layer configuration name>}` allows to control grid ordering ([src/matlab2tikz.m:921](https://github.com/matlab2tikz/matlab2tikz/blob/develop/src/matlab2tikz.m#L921))"}}