[RUBYPLOT-GSOC][DAILY][20 June] The plots
Planned progress
Working on the Error bar plot
Progress
Problems
The blog will be completed soon
Plans
Complete the Blogs
Check box plot
[RUBYPLOT-GSOC][DAILY][21 June] Improvements
Planned progress
Working on Box plot
Progress
Passed the tests for box plot
Corrected default marker type for draw_markers and the variable for nominal factor
Added a hash of lambdas for line types
Improved draw_lines and draw_line functions
Problems
Implementing different line types would be difficult and will be done later.
The median line for box plot in magick backend is very narrow, should the default width be increased? @v0dro
An example of box plot in magick backend:
in gr:
Plans
[RUBYPLOT-GSOC][DAILY][22 June] Code Review
Planned progress
Working on Box plot
Progress
Started the code review for first evaluation
Problems
Plans
Complete the code review
Complete the blogs
Work on violin plot
[RUBYPLOT-GSOC][DAILY][23 June] Sunday
Had a weekly meeting with @v0dro . To-do list till Phase 1 evaluation ends:
Finish the Blogs
Implement Ticks
Write documentation and host it at readthedocs (mostly) and the website should update the docs when the code is updated
Leaving violin plot for now as it lacks the frontend
Correcting the overlapping of title and X-axis title of figures having multiple vertical subplots
Determining the opacity for bubble plot
Looking into legend box for bar plot
Correcting the y inversion of subplots in Magick
Correct the frontend of Line plot
Use another library for testing
Implement arrows
Introduce a minimal factor to make the line width of Magick backend same as GR
Test bar plots for multiple bar plots in the same subplot
[RUBYPLOT-GSOC][DAILY][24 June] Evaluation
Planned progress
Working on Violin plot
Progress
Not working on Violin plot for now as the frontend is not implemented
Improved The scatter plot example blog
Corrected the Line plot Frontend
Problems
Plans
Working on Blogs
Completing the remaining work
[RUBYPLOT-GSOC][DAILY][25 June] Evaluation
Planned progress
Complete Evaluation
Progress
Problems
Plans
Complete the blogs
Implement ticks
[RUBYPLOT-GSOC][DAILY][26 June] Evaluation
Planned progress
Complete Evaluation
Progress
Completed code review
decided on the format and what all is to be included in the next blog
Problems
User guide for installation of Magick backend is not present.
Plans
Complete the blogs
Implement ticks
v0dro:
Here’s some more feedback regarding the blog post:
As an example, in the Setting Output Device
part of the post, you’ve a detailed explanation of the function of each within the method init_output_device
. But what is missing here is the ‘purpose’ of each line. I can see that you’re creating three Magick::Draw
objects. But WHY create three objects? What were the underlying design decisions that lead to creation of three objects instead of just one? These things are much more interesting to someone reading your post to get a technical overview. They also serve as guidelines later when a developer is wondering about the purpose of the code.
Another example is that we do not use the MATLAB notation for creating subplots (which is used by matplotlib). Would be great if you can write the reasons for that too.
Also explain why you do the text rotation in Magick the way you do.
Please make such updates to your post before moving on to the next one.
@v0dro I am creating another blog for this which explains the code and the purpose of the functions and the design decisions as well. Link: https://alishdipani.github.io/gsoc2019/2019/06/12/Setting-up-the-ImageMagick-backend/
I will complete this blog and the blog for plots hopefully by Saturday EOD
[RUBYPLOT-GSOC][DAILY][27 June] Evaluation
Planned progress
Complete Evaluation
Progress
Problems
Plans
Complete the blogs
Implement ticks
[RUBYPLOT-GSOC][DAILY][28 June] Evaluation
Planned progress
Complete Evaluation
Progress
Problems
I will apply for my visa soon and the appointment for it will be on Tuesday or Wednesday and hence I will be unavailable to work for 2-3 days during that time.
Plans
Complete the blogs
Implement ticks
[RUBYPLOT-GSOC][DAILY][29 June] Starting multiple plots
Planned progress
Check multi bar plot
Progress
Worked on blog
Wrote an experimental test for multi bar plot and the output is correct
data given =
[["Data1", [4, 7, 12], :blue],
["Data2", [2, 6, 10], :yellow],
["Data3", [3, 8, 11], :red],
["Data4", [1, 5, 9], :black]]
Output for GR backend:
Output for Magick backend:
Corrected the function for the input of spacing_ratio in bar plot
Problems
I will complete the blog in 1-2 days
What is the purpose of the stacked_bar plot? is it different than a simple bar plot? @v0dro
I saw that there is a test for dot plot but there is no such plot, should dot plot be added? @v0dro
Matplotlib allows the user to set the x coordinates, whereas in Rubyplot it is decided by us, should there be an option to take the x values as an input? @v0dro
Bar plot does not create legend box (or it is not visible)
Plans
Complete the blogs
Implement ticks
[RUBYPLOT-GSOC][DAILY][30 June] Sunday
Planned progress
Check multi box plot
Progress
Problems
Will check the multi box plot in addition to next day’s work.
Plans
Complete the blogs
Implement ticks
Check multi box plot
Check multi candle-stick plot
[RUBYPLOT-GSOC][DAILY][1 July] Issues
Planned progress
check multi candle stick plot
Progress
Problems
Could not work today due to some personal issues and visa application
Plans
Complete the remaining work
[RUBYPLOT-GSOC][DAILY][2 July] Multi plots
Planned progress
Check multi stacked bar plot
Progress
Checked and passed tests for multi box plot, outputs:
Corrected multi candle stick plot, the bug was that it was plotting one candle stick less
Checked and passed tests for multi candle stick plot, output:
Problems
Both candle stick and box plot lack legend box
Single box plot, candle stick plot, etc. utilise multi plots and hence I will include this in the blog as well, due to which the blog will take some time
Both candle stick plot and box plot do not take x values as inputs, but matplotlib has the necessary condition of giving x values as input, should this be incorporated here as well? @v0dro
I had not checked stacked bar plot earlier, and hence will check that first and then move to multi stacked bar plot
Plans
Work on blogs
Check stacked bar plot and multi stacked bar plot
Implement ticks
[RUBYPLOT-GSOC][DAILY][3 July] Multi plots
Planned progress
Implement grouped box plot
Progress
Since the front end of grouped box plot is not implemented, leaving it for now and focusing on other plots
Passed tests for stacked and multi stacked bar plot, outputs:
Corrected the y inversion of subplots for Magick backend
Added opacity as 0.5 to bubble plot by using drawing circles instead of markers, had to change the front end of bubble plot
Changed front end of Circle object to replace border_opacity with fill_opacity
Introduced a nominal factor for draw_circle in Magick backend to match the sizes of GR backend
Problems
Stacked bar plot lacks legend box
GR backend does not implement opacity for draw_circle function
Plans
Complete blogs
Implement ticks
Make a list of plots with examples and problems in them
[RUBYPLOT-GSOC][DAILY][4 July] Ticks
Planned progress
Implement grouped box plot
Progress
Looked into the working of ticks
Problems
GR backend does not use the input properties and creates ticks in its own way, will discuss this in weekly meeting with @v0dro
Plans
Complete blogs
Implement ticks
Create a list of plots
[RUBYPLOT-GSOC][DAILY][5 July] Library review
Planned progress
Checking subplots
Progress
Had the weekly meeting with @v0dro
Passed the tests for subplots, the outputs:
GR:
Magick:
Added the default value for marker_fill_color for scatter plot in the frontend
Added the flag for square axes in the axes frontend
Implemented square axes for Magick backend
Increased the line width for axes for Magick backend so that it looks better (set the width to 5 pixels)
Corrected the spacing ratio function for the bar plot
Improved plots for Magick backend, the axes are now plotted above the figures
Problems
GR backend lacks the square axes
Meeting summary
To-do list:
Complete the blogs
Implement ticks
Write documentation
Check subplots (done)
Submit a proposal for RubyConf USA
Increase the line width for axes in Magick backend (done)
Draw axes above the figures (done)
Implement rectangular axes (done)
Improve the testing script so that tests for both backends are done in one go
Erase the figures which are out of bounds for Magick backend
Look into legend box for all the multi plots
Take x values as inputs for all the multi plots
Look into spacing for candle stick plot (done) -> @v0dro the spacing is there but it is not that visible if the figure is too big
Create optimized show function such that if write is called just after it then the plotting should not be done again.
Plans
Complete blogs
Create a list of plots
Implement ticks
[RUBYPLOT-GSOC][DAILY][6 July] Saturday
Planned progress
Checking subplots
Progress
Problems
Plans
Improve ticks
Write blogs
Create a list of plots
[RUBYPLOT-GSOC][DAILY][8 July] Show
Planned progress
Implement show function for GR
Progress
Focussing on Magick backend and leaving GR backend for now
Implemented the show function for Magick backend
Problems
The show function is not optimized, I tried optimization by not initialization the figure again but there were some errors which couldn’t be resolved. I will try to resolve the error or find another way for optimization
Plans
Optimize the show function
Complete the blogs
Create a list of plots
Implement ticks