These are chat archives for oxyplot/oxyplot

29th
Feb 2016
VisualMelon
@VisualMelon
Feb 29 2016 19:17
(have merged your modifications, @objorke , I think I did something correctly for once...) - I shall set about replacing RenderDiscreteRectangles with an enum (will probably go with your original suggestion in #803)
(would there be an objection to swapping HeatMapRenderingMethod.Image for HeatMapRenderingMethod.Bitmap ?)
Øystein Bjørke
@objorke
Feb 29 2016 19:23
Bitmap sounds better. But it would be even better if the method was determined automatically.
I was also thinking about a 3rd method. Render as 2x2 bitmaps to allow interpolated heatmaps on log axes...
VisualMelon
@VisualMelon
Feb 29 2016 19:26
How do you mean? I believe the Bitmap rendering already works on log axes - the data points are linearly spaced in screen space (on a log axis), and the bitmap is appropriately positioned
Øystein Bjørke
@objorke
Feb 29 2016 19:27
I was thinking of cases where the points are not linearly spaced
VisualMelon
@VisualMelon
Feb 29 2016 19:27
Such as when you have linearly distributed data points on a log axis, you mean?
(or logarithmically distributed points on a linear axis)
VisualMelon
@VisualMelon
Feb 29 2016 19:37
(I may have spoken too soon, AppVeyor has been angered by, I can only imagine, my attempts to incorporate those changes)
Øystein Bjørke
@objorke
Feb 29 2016 19:40
it should be possible to cherry-pick my changes, and push the new commits to your branch
VisualMelon
@VisualMelon
Feb 29 2016 19:43
should I have cherry-picked rather than merging then?
Øystein Bjørke
@objorke
Feb 29 2016 19:43
then you would not need to merge
revert to your last commit, cherry pick my two commits, then push
VisualMelon
@VisualMelon
Feb 29 2016 19:45
I hadn't made any commits, I just merged your's in and pushed, I thought
argh, didn't rebase develop, that might be it
Øystein Bjørke
@objorke
Feb 29 2016 20:07
the commit look good now. I have played a bit more with the examples. Something is strange with the LogX property. Will commit my change
VisualMelon
@VisualMelon
Feb 29 2016 20:40
(regarding #807, transpose doesn't work for line, scatter, area, etc. I am wondering if it might have been better to not address #535 at this time, and instead sort out a general solution for all of the above)
VisualMelon
@VisualMelon
Feb 29 2016 20:58
@objorke Concerning your new example, it looks odd because the labels are positioned relative to X0/X1, while (due to the HeatMapCoordinateDefinition.Center) the rectangles/image are positioned differently (relative to MinX/MaxX) - this calculation doesn't make sense if LogX/LogY don't match the axes
(essentially the same as #164)
I would probably be in favour of detecting the log/lin nature of the axes if there is a nice way of doing it, but I can't think of/find one
Øystein Bjørke
@objorke
Feb 29 2016 21:02
virtual method IsLogarithmic()?
VisualMelon
@VisualMelon
Feb 29 2016 21:03
I can't find that - is that a suggestion to add it to the Axis base class?
Øystein Bjørke
@objorke
Feb 29 2016 21:04
yes, as suggestion in Axis - would it make sense?
VisualMelon
@VisualMelon
Feb 29 2016 21:04
I would suggest an enum would be better (caught the buzz now), differentiating between linear/logarithmic/category
Øystein Bjørke
@objorke
Feb 29 2016 21:04
#802 and #164 are essentially the same?
someone may ask for a logarithmic category axis
VisualMelon
@VisualMelon
Feb 29 2016 21:05
fair point, I can't think of an issue with adding the IsLograithmic method/property
#802 and #164 are not the same (in my head atleast) - I read #164 as the issue you have flagged up with your new example - it's trying to fit logarithmically/linearly distributed data onto a linear/logarithmic plot, while #802 is solely about plotting logarithmically distributed data onto a logarithmic plot - I don't think #164 makes much sense
this is at least how I have interpreted #164, and I've made no effort to address it in my changes
Øystein Bjørke
@objorke
Feb 29 2016 21:09
I agree #164 does probably not make sense
an alternative could be to pass the x- and y-coordinates of the "cells" to the HeatMapSeries - as arrays of double
VisualMelon
@VisualMelon
Feb 29 2016 21:10
aye, but that rather loses all the niceness of using the series
that might be worth doing, but I would expect that to be a different series
(since everything from rendering to tracking will be incompatible)
Øystein Bjørke
@objorke
Feb 29 2016 21:11
right
VisualMelon
@VisualMelon
Feb 29 2016 21:11
if we are in agreement that plotting Log/Lin data on a Lin/Log axis doesn't make sense, then I see no issue with automatically detecting the axis type
(that is, adding IsLogarithmic and using it rather than my LogX/LogY)
Øystein Bjørke
@objorke
Feb 29 2016 21:12
less properties and more automagic sounds good to me!
VisualMelon
@VisualMelon
Feb 29 2016 21:12
my only concern is that it doesn't make the logical distinction between screen and data space distribution
but since the alternative is horrible, I am in favour
would you like me to implement these changes on top of the current pull request, or should IsLogarithmic be sorted out first and separately?
Øystein Bjørke
@objorke
Feb 29 2016 21:14
I think all this can go into the current PR
VisualMelon
@VisualMelon
Feb 29 2016 21:15
(on that note, my apologies for the mess I keep making with this GIT stuff, I'm very much learning on the job)
OK, I shall sort outAxis.IsLogarithmic and all implementations thereof tomorrow
What is our preference for the RenderingMode stuff?
Øystein Bjørke
@objorke
Feb 29 2016 21:16
good! I am looking forward to merge all this!
VisualMelon
@VisualMelon
Feb 29 2016 21:19
I am currently in favour of the enum you suggested, because while RenderMethod.Rectangles isn't (at least for now) compatible with Interpolation, there is no reason why someone might not prefer one rendering method over the other (that is, I don't think auto detecting based on the renderer is a good idea, and not only because that means writing more code)
I would be glad to try to sort out some more comprehensive documentation for this once we've resolved the issues
Øystein Bjørke
@objorke
Feb 29 2016 21:22
shouldn't the output look the same, but it is a question of performance and capabilities of the renderer implementation. :+1: for improving docs for the HeatMapSeries!!
VisualMelon
@VisualMelon
Feb 29 2016 22:01
indeed, ideally yes, but having the option seems sensible, and means that the detection can't be broken in future by the addition of a renderer, or the like - would you be happy with the enum? (if so, I'll get on with that tomorrow as well, bit late now)
VisualMelon
@VisualMelon
Feb 29 2016 22:44
(aside: is there any reason why HeatMapSeries might use this.XAxis.Transform(this.X0) > this.XAxis.Transform(this.X1) rather than this.XAxis.IsReversed ? - I would expect them to be functionally identical)
VisualMelon
@VisualMelon
Feb 29 2016 23:00
Adding an abstract Axis.IsLogarithmic() would be a breaking change (changing the interface for Axis)