From 03a9776a2d06f829c94c590a360d6e69426a0293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 15 Apr 2019 10:59:58 -0400 Subject: [PATCH] fix more bar/text/log size axis cases ... a follow-up from my lazy attempt in https://github.com/plotly/plotly.js/pull/3762 --- src/traces/bar/plot.js | 12 ++++- .../baselines/bar-autotext-log-size-axes.png | Bin 0 -> 38474 bytes .../mocks/bar-autotext-log-size-axes.json | 50 ++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 test/image/baselines/bar-autotext-log-size-axes.png create mode 100644 test/image/mocks/bar-autotext-log-size-axes.json diff --git a/src/traces/bar/plot.js b/src/traces/bar/plot.js index d013f7ec46f..9466ce9a061 100644 --- a/src/traces/bar/plot.js +++ b/src/traces/bar/plot.js @@ -232,12 +232,20 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1) { if(orientation === 'h') { var xa = plotinfo.xaxis; if(xa.type === 'log' && di.s0 <= 0) { - x0 = xa._length; + if(xa.range[0] < xa.range[1]) { + x0 = 0; + } else { + x0 = xa._length; + } } } else { var ya = plotinfo.yaxis; if(ya.type === 'log' && di.s0 <= 0) { - y0 = ya._length; + if(ya.range[0] < ya.range[1]) { + y0 = ya._length; + } else { + y0 = 0; + } } } diff --git a/test/image/baselines/bar-autotext-log-size-axes.png b/test/image/baselines/bar-autotext-log-size-axes.png new file mode 100644 index 0000000000000000000000000000000000000000..63f3afe2730bd3e261cc2adcced28adaff2ee397 GIT binary patch literal 38474 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 S;k|410b0f@R^RWM z)X0q9k+|6Z=@9khlSaY04+t6t=HF&&_~@Pr;K==C8e~#^en8H%ZL^@cl^4q^2kbiT zdXkkf8@B7&JlguGaE!Qra#0Q?^L|i_=Ry@t=|RRQ4hVc9Bl~pe$BSmGAO)+$w595+ zF@A{s90DzT;pwN&6-3c5OyDAj3w{fo`W+tVgyU4#J&)fxvlCZ}5T@UnM6{@v%J^)~LUq{^Y||Z6z=e zFH)LC$;-2cfFQ#YD|=ncUV);p^qf~y^*wo(7Kz3fDl-cWL*_=fJe3mYSH&Mih!fA3 zzqVV@FM?IY%y=kC$rJV2=zjfV+G|#e^|bTxaS-*U2W(J{4fRvS)%>P-NLV-1Qq!g) z4V_U^4|%D_EJA{k6++H7MTF-$EmV=DCcIK8*IwDtlC*RUUXWrOpJJYCq7(SAImlZK zAIES1u1N39+t%*rEW*X;s3|fdXXsojoi0K zenwW3rz;=Umb6;pbamcNjuoUh6pjQhXje@Y;dov=(ZW*0etH@9!04w=2CodtPWBeN zn6ho^>LG{;GCruU8MMs+(z9T>XV0n{FwfEBXNQ}2DZi;U+WtXElxQj|bCQHFFbh$hxVmR_2e(ixsLr6^248!veEd3$ z^zYYSi?+$}91tt%1(jBebCDDHp_c}ev?VJUqIz#8@!hSKvM<>qevkW>=S~tIU2pwEyAbhbEASCEV`-nWiI3F+x59c^-0JVgB)$~Q zK3?2 zsd~0%6ioSSO%>Z^EPAn`%=tr74VHVXJ^cEEx~S}nx|do;sWJ*`1jkSsxkVLQ_sLmc zYU<_%Dz+34H*{EI!7jKyMrXXe(HL7IscmvooKOARbXP|&5SLnYKhuv!StbM4BB^SXdCDnIDM#h8FPi zqt+|o(3_r&*Sldc)PrcWfuDNPl`*D~Ja;7?iZPQ0Z-p7@wGIf?=RY4w>-CYLvD8M@ zzfy`U2-G@l8-z>DV>T;gYqi^iYq11uth`4I4=1%KeQHacVBCTE+mZH>EnoPAmsA@H+ybsXd^iJ-)0_wuz+TFf#4PeHZdD(@+vVC(6t5n@bng)=~LDvlaY3bvh ZOEZQ1n*U;bId%>Fr=p-KUnU0+`!5nL*ZKee literal 0 HcmV?d00001 diff --git a/test/image/mocks/bar-autotext-log-size-axes.json b/test/image/mocks/bar-autotext-log-size-axes.json new file mode 100644 index 00000000000..976c11eeb24 --- /dev/null +++ b/test/image/mocks/bar-autotext-log-size-axes.json @@ -0,0 +1,50 @@ +{ + "data": [{ + "type": "bar", + "x": ["giraffes", "orangutans", "monkeys"], + "y": [20, 14, 1], + "text": ["giraffes", "orangutans", "monkeys"], + "textposition": "auto" + }, { + "type": "bar", + "x": ["giraffes", "orangutans", "monkeys"], + "y": [20, 14, 1], + "text": ["giraffes", "orangutans", "monkeys"], + "textposition": "auto", + "xaxis": "x2", + "yaxis": "y2" + }, { + "type": "bar", + "y": ["giraffes", "orangutans", "monkeys"], + "x": [20, 14, 1], + "text": ["giraffes", "orangutans", "monkeys"], + "orientation": "h", + "textposition": "auto", + "xaxis": "x3", + "yaxis": "y3" + }, { + "type": "bar", + "y": ["giraffes", "orangutans", "monkeys"], + "x": [20, 14, 1], + "text": ["giraffes", "orangutans", "monkeys"], + "orientation": "h", + "textposition": "auto", + "xaxis": "x4", + "yaxis": "y4" + }], + "layout": { + "showlegend": false, + "grid": {"rows": 2, "columns": 2, "pattern": "independent", "xgap": 0.1, "ygap": 0.1}, + "xaxis": {"showticklabels": false}, + "yaxis": {"type": "log"}, + "xaxis2": {"showticklabels": false}, + "yaxis2": {"type": "log", "autorange": "reversed", "side": "right"}, + "xaxis3": {"type": "log"}, + "yaxis3": {"showticklabels": false}, + "xaxis4": {"type": "log", "autorange": "reversed"}, + "yaxis4": {"showticklabels": false}, + "width": 600, + "height": 600, + "margin": {"l": 20, "t": 20, "r": 20, "b": 20} + } +}