Wrong layout when adjusting gap between positive-side violin plots.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- data-visualization
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện hai ví dụ HTML được cung cấp với Plotly 2.3.0, so sánh bố cục violin plot thông thường với các trace sử dụng side="positive" và violingap khác không. Theo dõi đường đi bố cục của violin plot để xác định tại sao biểu đồ phía trên bị đặt sai vị trí và bị cắt; công việc được xem là hoàn tất khi các plot phía dương giữ nguyên khoảng cách được yêu cầu và cả hai biểu đồ được render ở đúng vị trí.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
When showing two violin plots in the same graph, it is possible to control the size of the gap between them. If changing the plots to show only the positive side, this breaks (the top graph is placed in the wrong location and is clipped).
This works:
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<div id=id-1 class="plotly-graph-div" style="height:100%; width:100%;"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG"></script>
<script src="https://cdn.plot.ly/plotly-2.3.0.min.js"></script>
<script type="text/javascript">
window.PlotlyConfig = {MathJaxConfig: 'local'};
window.PLOTLYENV = window.PLOTLYENV || {}
if (document.getElementById('id-1')) {
Plotly.newPlot(
'id-1',
[{
"boxpoints": false,
"type": "violin",
"name": "Trace 1",
"points": false,
"box": {
"visible": false
},
"legendgroup": "Trace 1",
"x": [0.75, 5.25, 5.5, 6.0, 6.2, 6.6, 6.8, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10.0, 10.25, 11.5, 12.0, 16.0, 20.9, 22.3, 23.25]
},
{
"boxpoints": false,
"type": "violin",
"name": "Trace 2",
"points": false,
"box": {
"visible": false
},
"legendgroup": "Trace 2",
"x": [7.9, 5.4, 7.4, 6.2, 8.5, 5.5, 8.8, 8.5, 5.1, 8.5, 5.4, 8.4, 7.8, 4.7, 8.3, 5.2, 6.2, 8.4, 5.2, 7.9, 5.1, 4.7, 7.8, 6.9, 7.4, 8.3, 5.5, 7.6, 7.8, 7.9, 7.3, 7.7, 6.6, 8.0, 7.4, 5.2, 4.8, 8.0, 5.9, 9.0, 8.0, 5.8, 8.4, 5.8, 7.3, 8.3, 6.4, 5.3, 8.2, 5.9, 7.5, 9.0, 5.4, 8.0, 5.4, 8.3, 7.1, 6.4, 7.7, 8.1, 5.9, 8.4, 4.8, 8.2, 6.0, 9.2, 7.8, 7.8, 6.5, 7.3, 8.2, 5.6, 7.9, 7.1, 6.2, 7.6, 6.0, 7.8, 7.6, 8.3, 7.5, 8.2, 7.0, 6.5, 7.3, 8.8, 7.6, 8.0, 4.8, 8.6, 6.0, 9.0, 5.0, 7.8, 6.3, 7.2, 8.4, 7.5, 5.1, 8.2, 6.2, 8.8, 4.9, 8.3, 8.1, 4.7, 8.4, 5.2, 8.6, 8.1, 7.5, 5.9, 8.9, 7.9, 5.9, 8.1, 5.0, 8.5, 5.9, 8.7, 5.3, 6.9, 7.7, 5.6, 8.8, 8.1, 4.5, 8.2, 5.5, 9.0, 4.5, 8.3, 5.6, 8.9, 4.6, 8.2, 5.1, 8.6, 5.3, 7.9, 8.1, 6.0, 8.2, 7.7, 7.6, 5.9, 8.0, 4.9, 9.6, 5.3, 7.7, 7.7, 6.5, 8.1, 7.1, 7.0, 8.1, 9.3, 5.3, 8.9, 4.5, 8.6, 5.8, 7.8, 6.6, 7.6, 6.3, 8.8, 5.2, 9.3, 4.9, 5.7, 7.7, 6.8, 8.1, 8.1, 7.3, 5.0, 8.5, 7.4, 5.5, 7.7, 8.3, 8.3, 5.1, 7.8, 8.4, 4.6, 8.3, 5.5, 8.1, 5.7, 7.6, 8.4, 7.7, 8.1, 8.7, 7.7, 5.1, 7.8, 6.0, 8.2, 9.1, 5.3, 7.8, 4.6, 7.7, 8.4, 4.9, 8.3, 7.1, 8.0, 4.9, 7.5, 6.4, 7.6, 5.3, 9.4, 5.5, 7.6, 5.0, 8.2, 5.4, 7.5, 7.8, 7.9, 7.8, 7.8, 7.0, 7.9, 7.0, 5.4, 8.6, 5.0, 9.0, 5.4, 5.4, 7.7, 7.9, 6.4, 7.5, 4.7, 8.6, 6.3, 8.5, 8.2, 5.7, 8.2, 6.7, 7.4, 5.4, 8.3, 7.3, 7.3, 8.8, 8.0, 7.1, 8.3, 5.6, 7.9, 7.8, 8.4, 5.8, 8.3, 4.3, 6.0, 7.5, 8.1, 4.6, 9.0, 4.6, 7.4, 14.0, 15.0]
}
], {
"showlegend": false,
"xaxis": {
"showgrid": true,
"gridcolor": "lightgrey",
"showticklabels": true,
"range": [0.75, 23.25]
},
"boxgroupgap": 0,
"violingap": 0.1,
"template": "simple_white",
"boxgap": 0.1,
"legend": {
"tracegroupgap": 0,
"itemdoubleclick": false
},
"yaxis": {
"showgrid": false,
"gridcolor": "lightgrey",
"showticklabels": false,
"range": [null, null]
},
"violingroupgap": 0,
"margin": {
"l": 50,
"b": 50,
"r": 50,
"t": 50
}
}, {
"editable": false,
"responsive": true,
"staticPlot": false,
"scrollZoom": true
},
)
}
</script>
</body>
</html>
It shows:
This fails (the only difference is adding "side":"positive", to the traces):
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<div id=id-1 class="plotly-graph-div" style="height:100%; width:100%;"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG"></script>
<script src="https://cdn.plot.ly/plotly-2.3.0.min.js"></script>
<script type="text/javascript">
window.PlotlyConfig = {MathJaxConfig: 'local'};
window.PLOTLYENV = window.PLOTLYENV || {}
if (document.getElementById('id-1')) {
Plotly.newPlot(
'id-1',
[{
"side":"positive",
"boxpoints": false,
"type": "violin",
"name": "Trace 1",
"points": false,
"box": {
"visible": false
},
"legendgroup": "Trace 1",
"x": [0.75, 5.25, 5.5, 6.0, 6.2, 6.6, 6.8, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15, 8.15, 8.65, 8.93, 9.2, 9.5, 10.0, 10.25, 11.5, 12.0, 16.0, 20.9, 22.3, 23.25]
},
{
"side":"positive",
"boxpoints": false,
"type": "violin",
"name": "Trace 2",
"points": false,
"box": {
"visible": false
},
"legendgroup": "Trace 2",
"x": [7.9, 5.4, 7.4, 6.2, 8.5, 5.5, 8.8, 8.5, 5.1, 8.5, 5.4, 8.4, 7.8, 4.7, 8.3, 5.2, 6.2, 8.4, 5.2, 7.9, 5.1, 4.7, 7.8, 6.9, 7.4, 8.3, 5.5, 7.6, 7.8, 7.9, 7.3, 7.7, 6.6, 8.0, 7.4, 5.2, 4.8, 8.0, 5.9, 9.0, 8.0, 5.8, 8.4, 5.8, 7.3, 8.3, 6.4, 5.3, 8.2, 5.9, 7.5, 9.0, 5.4, 8.0, 5.4, 8.3, 7.1, 6.4, 7.7, 8.1, 5.9, 8.4, 4.8, 8.2, 6.0, 9.2, 7.8, 7.8, 6.5, 7.3, 8.2, 5.6, 7.9, 7.1, 6.2, 7.6, 6.0, 7.8, 7.6, 8.3, 7.5, 8.2, 7.0, 6.5, 7.3, 8.8, 7.6, 8.0, 4.8, 8.6, 6.0, 9.0, 5.0, 7.8, 6.3, 7.2, 8.4, 7.5, 5.1, 8.2, 6.2, 8.8, 4.9, 8.3, 8.1, 4.7, 8.4, 5.2, 8.6, 8.1, 7.5, 5.9, 8.9, 7.9, 5.9, 8.1, 5.0, 8.5, 5.9, 8.7, 5.3, 6.9, 7.7, 5.6, 8.8, 8.1, 4.5, 8.2, 5.5, 9.0, 4.5, 8.3, 5.6, 8.9, 4.6, 8.2, 5.1, 8.6, 5.3, 7.9, 8.1, 6.0, 8.2, 7.7, 7.6, 5.9, 8.0, 4.9, 9.6, 5.3, 7.7, 7.7, 6.5, 8.1, 7.1, 7.0, 8.1, 9.3, 5.3, 8.9, 4.5, 8.6, 5.8, 7.8, 6.6, 7.6, 6.3, 8.8, 5.2, 9.3, 4.9, 5.7, 7.7, 6.8, 8.1, 8.1, 7.3, 5.0, 8.5, 7.4, 5.5, 7.7, 8.3, 8.3, 5.1, 7.8, 8.4, 4.6, 8.3, 5.5, 8.1, 5.7, 7.6, 8.4, 7.7, 8.1, 8.7, 7.7, 5.1, 7.8, 6.0, 8.2, 9.1, 5.3, 7.8, 4.6, 7.7, 8.4, 4.9, 8.3, 7.1, 8.0, 4.9, 7.5, 6.4, 7.6, 5.3, 9.4, 5.5, 7.6, 5.0, 8.2, 5.4, 7.5, 7.8, 7.9, 7.8, 7.8, 7.0, 7.9, 7.0, 5.4, 8.6, 5.0, 9.0, 5.4, 5.4, 7.7, 7.9, 6.4, 7.5, 4.7, 8.6, 6.3, 8.5, 8.2, 5.7, 8.2, 6.7, 7.4, 5.4, 8.3, 7.3, 7.3, 8.8, 8.0, 7.1, 8.3, 5.6, 7.9, 7.8, 8.4, 5.8, 8.3, 4.3, 6.0, 7.5, 8.1, 4.6, 9.0, 4.6, 7.4, 14.0, 15.0]
}
], {
"showlegend": false,
"xaxis": {
"showgrid": true,
"gridcolor": "lightgrey",
"showticklabels": true,
"range": [0.75, 23.25]
},
"boxgroupgap": 0,
"violingap": 0.1,
"template": "simple_white",
"boxgap": 0.1,
"legend": {
"tracegroupgap": 0,
"itemdoubleclick": false
},
"yaxis": {
"showgrid": false,
"gridcolor": "lightgrey",
"showticklabels": false,
"range": [null, null]
},
"violingroupgap": 0,
"margin": {
"l": 50,
"b": 50,
"r": 50,
"t": 50
}
}, {
"editable": false,
"responsive": true,
"staticPlot": false,
"scrollZoom": true
},
)
}
</script>
</body>
</html>
It shows:
- Ngôn ngữ chính
- JavaScript
- Star
- 18.3k
- Fork
- 2k
- Merge trung bình
- 2 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 30
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của plotly/plotly.js
-
chore P3 plotly-internal size: 3 task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
-
bug P2 size: 1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
chore P1 plotly-internal size: 1 task
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
-
chore P3 plotly-internal size: 1 task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Tất cả issue của plotly/plotly.js
Issue tương tự
-
bot:ai-assisted component:compact-js status:untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
midnightntwrk/midnight-sdk#403 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 86/100
DavidAnson/markdownlint-cli2#940 ·
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100