Changelog
0.11.0 (2016-08-18)
This is a breaking change for themes across all components and for label placement in VictoryPie
VictoryTheme.grayscale
for default stylinginnerRadius
of the pie does not effect label placement.displayName
to all components for ease of debuggingchildName
in eventsChangelog
0.10.4 (2016-08-05)
Changelog
0.10.3 (2016-08-04)
Changelog
0.10.2 (2016-08-02)
Changelog
0.10.0 (2016-07-29)
Breaking Changes
VictoryTheme
theme
prop that can be used to define styles and props across different component types.victory-core
includes the material themeVictoryCandlestick
VictoryCandlestick
component may be used standalone or in conjunction with VictoryChart
. It has an identical API and feature set as other chart compatible components with the exception of the data
and data accessor props. VictoryCandlestick
expects data
in the form [{x: value, high: NUMBER, low: NUMBER, open: NUMBER, close: NUMBER}...]
, and includes data accessor props x
, high
, low
, open
, and close
.VictoryErrorBar
VictoryErrorBar
component may be used standalone or in conjunction with VictoryChart
. It has an identical API and feature set as other chart compatible components with the exception of the data
and data accessor props. VictoryErrorBar
expects data
in the form [{x: value, y: value, errorX: ERR, errorY: ERR}...]
, Where ERR
is a number or a two value array for asymmetric errors. VictoryErrorBar
also includes data accessor props errorX
and errorY
.VictoryNative
VictoryNative
has an identical API to Victory
, and reuses most of the code. Changes made to Victory
to support VictoryNative
are all non-breaking, and minimal. They include the addition of a groupComponent
prop in all components (which defaults to <g>
), removing svg transforms whenever possible in favor of absolute positioning, and code reorganization.Performance improvements
Object.assign
with lodash assign
map
/ reduce
array methods with length-cached for
loops in methods responsible for rendering elementsMisc
domainPadding
domainPadding
is supported in all components compatible with VictoryChart
domainPadding
is supported. Example: domainPadding={{x: [-20, 20], y: 50}}
domainPadding
so that bars wont overflow axes in most cases.reduce-calc-css
as a dependencyChangelog
0.9.0 (2016-06-17)
Events enhancements
<svg>
) via the parent
namespace in the events
propparent
events have access to width
, height
, style
and the calculated scale
(with domain
and range
already applied). Where applicable parent
events also have access to data
parent
events have access to width
, height
, style
and the calculated slices
and the calculated pathFuncton
eventKey
to target several individual elements, or the special value "all" to apply changes to all elements of a particular target typecontainer
prop on VictorySharedEvents
. This is useful where shared events are automatic as in VictoryChart
, VictoryStack
and VictoryGroup
VictoryContainer
containerComponent
in all chart types.containerComponent
defaults to the new VictoryContainer
which renders an <svg>
with default title
and description
aria rolesFull support for horizontal bar charts
Misc improvements
vectorEffect: "non-scaling-stroke"
where applicable for improved readability in responsive chartsfontSizes
for improved readabilityVictoryAxis
so that custom elements can be absolutely positioned more easilyVictoryAxis
render order to that grids are rendered under labelsVictoryChart
so that default axes will render under data. Explicitly defined axes will still render in whatever order they are definedcornerRadius
prop to VictoryPie
to enable pie slices with rounded corners. Thanks @judikdavid!Bug fixes
VictoryLabel
VictoryGroup
that was causing custom labelComponents
in its children to be overridden.tickFormat
being applied to datesChangelog
0.8.0 (2016-06-01)
VictoryChart
VictorySharedEvents
wrapper for coordinating events between supported Victory Components. An annotated example of the new events API:<VictorySharedEvents
events={[
{
childName: "firstBar", // if a child name is not provided, event will be attached to all children.
target: "data", // what type of element to attach to. Matches the style namespaces
eventKey: 1, // What event key of element to attach to. Defaults to the index in data.
eventHandlers: {
onClick: () => {
return {
childName: "secondBar", // the child to be modified
// props here are the props that define the targeted component i.e. what is passed to an individual bar
mutation: (props) => {
return {style: merge({}, props.style, {fill: "blue"})}; // Whatever is returned here will override the existing props
}
};
}
}
}, {
childName: "secondBar",
target: "data",
eventKey: 0,
eventHandlers: {
onClick: () => { // event handlers can return an array of mutation objects with different targeted elements
return [
{
childName: "firstBar",
mutation: (props) => {
return {style: merge({}, props.style, {fill: "cyan"})};
}
}, {
mutation: (props) => { // the default target element is whatever element the handler is attached to
return {style: merge({}, props.style, {fill: "orange"})};
}
}, {
target: "labels",
eventKey: 1,
mutation: () => {
return {text: "CLICKED"};
}
}
];
}
}
}
]}
>
<VictoryBar
name="firstBar" // if children don't have name props they can be referenced by index in shared events
style={{
data: {width: 25, fill: "gold"}
}}
data={[{x: "a", y: 2}, {x: "b", y: 3}, {x: "c", y: 4}]}
/>
<VictoryBar
name="secondBar"
data={[{x: "a", y: 2}, {x: "b", y: 3}, {x: "c", y: 4}]}
/>
</VictorySharedEvents>
Changelog
0.7.0 (2016-05-13)
improves consistency for labelComponent
and dataComponent
props. Replaces a custom label components with VictoryLabel
to make the api more consistent and predictable. This is a breaking change for custom label components, as VictoryLabel
expects a different set of props than the previous label components. See VictoryLabel for more detail.
Custom components are now supported for all rendered axis elements (axis, axisLabel, grid, ticks, tickLabels)
All data and label components now have access to scale so that they can create correctly scaled elements from data i.e. error bars.
Functional styles and props are now all evaluated before they are passed as props to labelComponent
or dataComponent
, so that custom components will have access to the final values.
events are bound and partially applied prior to being passed as props to labelComponent
or dataComponent
it is now possible to specify angle
and verticalAnchor
props forVictoryLabel
via the style object
event return values are stored differently on state to facilitate interaction between data and labels. This is a breaking change for events as event handlers must now return an object with data
and/or labels
keys so that these values may be applied appropriately to data and label elements respectively.