# ciu 0.8

* Changed the default colours if influence/contrastive plots to the brick red
  / blue used by LIME in R version.
* Corrected the function "ciu.contrastive" that was implemented in a very strange
  (and presumably incorrect) way.
* Added possibility to get line segment IO-plots for categorical features,
  rather than the earlier histogram visualisation. Added parameter to
  ggplot.ciu() "categorical_style="segment"", where the default is now to
  use line segments, even though that breaks backwards compatibility a little.
  However, for some reason setting "ylim" breaks the old "geom_col" plot so the bar
  plots are now un-scaled. But, strange enough, "+ ylim" applied to the returned
  ggplot works so it's possible to adjust afterwards. Something happened somewhere,
  no change in the CIU code and it worked in the past.
* Added new function ciu.contrastive that uses CU values of one 
  class/instance/whatever as the baseline "normal.CU" values of the other. 
* Added new function ciu.contextual.influence that calculates contextual influence 
  value(s) from CI and CU value(s) and "baseline".
* Added new file ContextualInfluence.R for functions related to contextual influence. 
* Fixed x-axis label error for influence plot in ``ciu.ggplot.col``.

# ciu 0.6.0

* Extensive tests on Intermediate Concepts, which are also integrated into the 
  new README.Rmd file (and README) as well as in test scripts TestCases.R and 
  TestCases_NoObject.R on Github. 
* Fixed inverted axis bug in plot in ``plot.ciu.3D``.
* Integrated support for mlr3. Only tested with "classif.rpart" model though 
  because other tested models (xgboost, nnet, ...) don't like R types and no
  need/time to dive into mlr3 for the moment. To fix in the future in case bugs 
  are discovered.
* Added parameter "plot.mode" to "ciu.ggplot.col" function, which allows for value 
  "overlap" that plots CI as a bar and then CU as another bar over it, scaled 
  into CI bar. Colour of CU bar can either be fixed (dark green by default) or set to NULL, 
  which then uses the green-yellow-red color scale (unless those colours are 
  changed by the function parameters).
* Removed parameter for min/max values of contextual influence because the 
  range of contextual influence is (and should be) always one (1) based on 
  the mathematical constructs. 
* Added new method "ggplot.ciu" to ciu.new for plotting input/output graphs with 
  ggplot. Identical to old plot.ciu, except that 1) ggplot offers some 
  advantages, notably what comes to figure scaling, 2) added possibility to 
  include CIU visualisation (cmin, cmax, neutral) by setting "illustrate.CIU=TRUE". 
* Added new method "influence" to ciu.new for getting numerical contextual 
  influence (rather than just seeing them in plots).
  TO-DO: add corresponding function to "ciu.R".
* Corrected axis in ``plot.ciu.3D``.

# ciu 0.5.0

* Textual explanations have been implemented with function "ciu.textual". 
* Implemented "meta.explain" method, which returns a self-contained 
  "ciu.meta.result" object with CIU results for a given instance. 
  This mainly makes it possible to visualize exactly the same CIU result 
  in different ways. 
  Before this (and still if no "ciu.meta" parameter is given), every 
  visualization method ran "explain" again, so CIU results could differ 
  somewhat between different runs.
* Added parameters "use.influence" and "influence.minmax" to "ggplot.col" 
  and "barplot.ciu" functions/methods, which produces a LIME/SHAP/etc-like plot 
  where "influence = (influence.max - influence.min)*ci(cu-neutral.CU)", bars 
  go either right or left of zero and there are only two colours. 
* Added support for factor-type inputs to method "$plot.ciu". 
* Created new "class" called "ciu", which is just a list object with the 
  "instance variables" of a CIU object. This makes it possible to create 
  plot functions that are not methods of CIU but rather take a "ciu" object 
  as their first parameter. The main reason for doing this modification is that 
  CIU objects seem to use much more memory than a simple data-based "ciu" object. 
  The documentation and package tools in R are also not too aware about 
  "inner functions" (methods), which is an inconvenient. Finally, the plan was 
  indeed to go for this approach in any case because increasing the code length
  of CIU was not desirable in the long run. The way in which it is implemented 
  now allows functions and methods to be used interchangeably in any case. 

# ciu 0.1.0

* First version of ciu published at CRAN
