Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Add `ticklabelstandoff` and `ticklabelshift` to cartesian axes by my-tien · Pull Request #7006 · plotly/plotly.js · GitHub
Skip to content

Add ticklabelstandoff and ticklabelshift to cartesian axes - #7006

Merged
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label
Jul 5, 2024
Merged

Add ticklabelstandoff and ticklabelshift to cartesian axes#7006
archmoj merged 26 commits into
plotly:masterfrom
my-tien:shift_axis_label

Conversation

@my-tien

@my-tienmy-tien commented May 27, 2024

Copy link
Copy Markdown
Contributor

These properties shift the axis tick labels in parallel or orthogonally to the axis (in pixels).

Resolves#1673

Disclaimer I am required to add that…

the software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Also modifies mock date_axes_period2 to test the new properties
Comment threadsrc/plots/cartesian/axes.js Outdated
@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this).
Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

@my-tien

my-tien commented May 28, 2024

Copy link
Copy Markdown
ContributorAuthor

Help appreciated for these failing bundle tests (I failed to get the debugger running for this). Is "ticks" not the correct editType for my new properties?

Firefox 126.0 (Windows 10) plot schema has valid `editType` in all attributes and containers FAILED
Expected false to be true, 'carpet.aaxis.ticklabelshiftx: "ticks"'.
<Jasmine>
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:185:62
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:102:13
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
exports.crawl/<@webpack://plotly.js/./src/plot_api/plot_schema.js?:105:15
exports.crawl@webpack://plotly.js/./src/plot_api/plot_schema.js?:98:22
assertTraceSchema/<@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:27:25
assertTraceSchema@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:26:25
@webpack://plotly.js/./test/jasmine/bundle_tests/plotschema_test.js?:183:22
<Jasmine>

Nvm, I figured it out, print debugging ftw :)

…ks → calc
carpet is a trace and therefore doesn't support editType ticks
@archmojarchmoj added feature something new community community contribution status: reviewable labels May 28, 2024
'In other cases the default is *hide past div*.'
].join(' ')
},
ticklabelshiftx: {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering where we should put the x or y in the attribute names?
In #7005 we have xshift, here we have shiftx.

@my-tienmy-tienMay 31, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, true. in #7005 my reasoning was that in the shape properties we have x0, x1 and xref. So I added xshift.

Here I had a similar reasoning, there were already properties starting with ticklabel*. And since in ticklabelxshift it is maybe hard to make out the 'x', I moved it to the end…

No strong opinion here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHo we shouldn't use x and y in these attribute names.
Instead something like standoff and runoff could be used so that when switching the orientation e.g. on a colorbar from horizontal to vertical everything works without a need to adjusting these parameters.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to ticklabelrunoff (shifts in parallel to axis) and ticklabelstandoff (shifts orthogonally to axis)

Comment threadtest/image/mocks/date_axes_period2.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadtest/plot-schema.json Outdated
Comment threadsrc/plots/gl3d/layout/axis_attributes.js Outdated
my-tien added 6 commits June 3, 2024 17:07
And remove this feature from all non-cartesian traces. If other plots should be supported, this can be added and tested in separate PRs.
…axis.side and ticklabelposition.
Standoff moves labels farther outside for outside labels and farther inside for inside labels.
Runoff moves labels further along the axis range.
@my-tien

Copy link
Copy Markdown
ContributorAuthor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

@archmoj

Copy link
Copy Markdown
Contributor

Failing mapbox test appears to be unrelated to my changes. It looks good locally.

To fix it, please fetch upstream/master and merge it into this branch.
Thank you!

@my-tien

Copy link
Copy Markdown
ContributorAuthor

The mapbox PR was already merged before, see here: 4ccaf73

Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/tick_label_defaults.js Outdated
@archmojarchmoj changed the title Add ticklabelstandoff and ticklabelrunoff to cartesian axesAdd ticklabelstandoff and ticklabelshift to cartesian axesJul 2, 2024
@archmoj

Copy link
Copy Markdown
Contributor

I checked with @LiamConnors and @emilykl and they both suggested to use ticklabelshift instead of ticklabelrunoff.

@gvwilsongvwilson assigned archmoj and unassigned gvwilson and emilyklJul 3, 2024
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/axes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien This PR is looking very good.
@stephprobst Do you want any specific figure to be tested in this PR?

@stephprobst

Copy link
Copy Markdown

@archmoj : Thanks for the mention. No, no particular figure in mind. It's a very general use case.

Comment threadsrc/plots/cartesian/layout_attributes.js
my-tienand others added 2 commits July 5, 2024 07:01
Update draftlog for renaming of `ticklabelrunoff` to `ticklabelshift`
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
(no need to test if ax.side matches axis, because this check is done before)
Comment threaddraftlogs/7006_add.md Outdated
Comment threaddraftlogs/7006_add.md Outdated
Comment threadsrc/plots/cartesian/layout_attributes.js Outdated
@archmoj

Copy link
Copy Markdown
Contributor

@my-tien Just few fixes needed by you here (see my recent comments) and we should be good to merge it today!

my-tienand others added 2 commits July 5, 2024 15:02
Improve draftlog text for ticklabelstandoff and ticklabelshift
Co-authored-by: Mojtaba Samimi <33888540+archmoj@users.noreply.github.com>
…d move outside and outside ticks could move inside

@archmojarchmoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributionfeaturesomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More control over tick text alignment

6 participants

@my-tien@archmoj@gvwilson@alexcjohnson@stephprobst@emilykl