-
Notifications
You must be signed in to change notification settings - Fork 353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
piechart legend/label enhancement #1954
Comments
Actually, it would be nice to have label backrounds in all chart types. We are rendering background labels in {{onrendered}} for all types being usable in "Combination Chart" (area, bar, line etc.). The problem is that the background rects have to wait for the text transition to end, so that the texts are moved first and immediately after the transition ends, the background rects are transitioning to the new position. By implementing the background rects functionality directly into billboard, it would be possible that the texts and the backgrounds would use the same transition. |
using svg onafterinit: function() {
const backgroundColor = "red";
const defs = this.internal.$el.defs || this.internal.$el.svg
.insert("defs", ".bb-main");
defs.append("filter")
.attr("x", 0)
.attr("y", 0)
.attr("width", 1)
.attr("height", 1)
.attr("id", "bg")
.html(`<feFlood flood-color="${backgroundColor}" />
<feComposite in="SourceGraphic"/>`);
this.$.text.texts.attr("filter", "url(#bg");
} Adding as new option might facilitate the process. data: {
labels: {
backgroundColor: "red",
// or specify colors by data series
backgroundColor: {
data1: "red",
data2: "blue"
}
}
} |
Implementation for new data.labels.backgroundColors option Ref naver#1954
# [3.1.0](3.0.3...3.1.0) (2021-06-25) ### Bug Fixes * **axis:** Fix axis.x.padding value setting ([5b4b509](5b4b509)), closes [#2038](#2038) * **axis:** fix handling x padding value ([489d47a](489d47a)), closes [#2038](#2038) * **candlestick:** fix to set expand state ([a055b20](a055b20)), closes [#2036](#2036) * **Chart:** Handle nullish properties from API extendings safely ([6cbf64a](6cbf64a)), closes [#2132](#2132) [#2134](#2134) * **data:** Fix duplicated data.onclick call ([b4c5dc2](b4c5dc2)), closes [#2104](#2104) * **data:** Fix nullish data filtering for grouped data ([af19370](af19370)), closes [#2096](#2096) * **gauge:** Fix incorrect rendering when gauge.min is given ([31fc981](31fc981)), closes [#2123](#2123) * **point:** Fix custom point for nullish data ([8c198f2](8c198f2)), closes [#2107](#2107) * **region:** fix region append position ([2b50443](2b50443)), closes [#2067](#2067) * **size:** enhance applying height value ([0664a60](0664a60)), closes [#2086](#2086) * **tooltip:** Correct the type of selectedData ([05b694d](05b694d)), closes [#2056](#2056) [#2058](#2058) * **types:** fix missing candlestick export ([f218939](f218939)), closes [#2007](#2007) * **types:** updated bar/candlestick options types ([d89c3f3](d89c3f3)), closes [#2043](#2043) * **zoom:** Fix incorrect tooltip position ([689bfdf](689bfdf)), closes [#2095](#2095) * **zoom,grid:** fix grid line pos during zoom ([e84a4f1](e84a4f1)), closes [#2156](#2156) ### Features * **all:** contain inline css prop setting ([fde6a89](fde6a89)), closes [#2076](#2076) * **api:** Intent to ship append load ([8076795](8076795)), closes [#2140](#2140) * **data:** Intent to ship data.onshown/onhidden ([af98eb7](af98eb7)), closes [#2146](#2146) * **data.labels:** Intent to ship data.labels.backgroundColors ([e0b2fed](e0b2fed)), closes [#1954](#1954) * **subchart:** Intent to ship subchart.init.range option ([967bf1b](967bf1b)), closes [#2037](#2037) * **subchart:** Intent to ship subchart.showHandle ([219bff3](219bff3)), closes [#2044](#2044)
* **Chart:** Handle nullish properties from API extendings safely ([6cbf64a](6cbf64a)), closes [#2132](#2132) [#2134](#2134) * **data:** Fix duplicated data.onclick call ([b4c5dc2](b4c5dc2)), closes [#2104](#2104) * **data:** Fix nullish data filtering for grouped data ([af19370](af19370)), closes [#2096](#2096) * **gauge:** Fix incorrect rendering when gauge.min is given ([31fc981](31fc981)), closes [#2123](#2123) * **point:** Fix custom point for nullish data ([8c198f2](8c198f2)), closes [#2107](#2107) * **region:** fix region append position ([2b50443](2b50443)), closes [#2067](#2067) * **size:** enhance applying height value ([0664a60](0664a60)), closes [#2086](#2086) * **tooltip:** Correct the type of selectedData ([05b694d](05b694d)), closes [#2056](#2056) [#2058](#2058) * **zoom:** Fix incorrect tooltip position ([689bfdf](689bfdf)), closes [#2095](#2095) * **zoom,grid:** fix grid line pos during zoom ([e84a4f1](e84a4f1)), closes [#2156](#2156) * **all:** contain inline css prop setting ([fde6a89](fde6a89)), closes [#2076](#2076) * **api:** Intent to ship append load ([8076795](8076795)), closes [#2140](#2140) * **data:** Intent to ship data.onshown/onhidden ([af98eb7](af98eb7)), closes [#2146](#2146) * **data.labels:** Intent to ship data.labels.backgroundColors ([e0b2fed](e0b2fed)), closes [#1954](#1954) * **subchart:** Intent to ship subchart.init.range option ([967bf1b](967bf1b)), closes [#2037](#2037) * **subchart:** Intent to ship subchart.showHandle ([219bff3](219bff3)), closes [#2044](#2044)
data.labels.backgroundColor and data.labels.format does not seem to apply to pie charts, right? |
@tjohannto, it works for all type of shapes.
|
Would it be possible to add these features I added here (pie label background, bounding rect and custom legend using name, ratio and value):
https://jsfiddle.net/rxj70uka/
to the piecharts manually "onrendered"?
Or is there a smarter and less "costly" or more elegant way to have this features using BB?
p.s. feel free to use anything of this code as you like.
The text was updated successfully, but these errors were encountered: