Vega-like viewconfigurations
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- data-visualization
Hướng nghiên cứu
Bắt đầu bằng việc xem xét các phần cấu hình view được đề xuất cho dữ liệu, tỷ lệ và mark, bao gồm các tham chiếu SpatialData và các phép biến đổi của chúng. Được xem là hoàn tất khi đặc tả cấu hình view đã được giải quyết và thống nhất trong toàn bộ hệ sinh thái trực quan hóa spatialdata; issue không nêu tên các tệp triển khai hoặc các bài kiểm thử.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
During the hackathon in Basel we have brainstormed on the specification that would allow for viewing data across the spatialdata visualization ecosystem with one viewconfig. This issue describes the current ideas of this viewconfiguration.
Data
The first field in the view configuration is related to the data and specifies the zarr store and the particular elements that we want to visualize. It also includes a filtering step. For example:
"schema": "https://spatialdata-plot.github.io/schema/viewconfig/v1.json"
"height": 15 # This is in inches
"width": 14
"data": [
{
"name": "{UUID1}",
"url": "blobs.zarr"
"format": "spatialdata",
"version": "0.2.0"
},
{
"name": "{UUID2}",
"format": "spatialdata_image",
"version": "0.1.0",
"source": "UUID1",
"transform": [
{
"type": "filter",
"expr": "datum['images/blobs_image']"
}
]
},
]
Here the first block contains the location of the zarr store. We specify the particular format of the zarr store and the version. The name is serving as a UUID in the document so that other blocks in the configuration can refer to a particular block. Typically, on the data a transform is applied. In most cases for SpatialData this would be a filter transform initially to get the particular element that we require. The height and width is the overall size in inches of the plot.
Scales
Scales provide a mapping of a series of values to a different series of values, whether that is axes limits and ticks
or a mapping of values to color.
"scales": [
{ <!-- Example of scale for continuous variable-->
"name": "color_0", <!-- can chain render_... calls that would use different normalize objects-->
"type": "linear",
"zero": true, <!-- Whether to include 0 value in the color mapping, useful for labels-->
"domain": [0, 1], <!-- this is the vmin vmax-->
"clamp": true, <!-- This is the clip of the normalize object in matplotlib-->
"range": {"scheme": "gray"}
},
{ <!-- Example of scale for categorical variable-->
"name": "color",
"type": "ordinal",
"domain": {"data": "UUID of spatial element", "field": "category"}, <!-- category here is column-->
"range": {"scheme": "category20"} <!--This is only required if there are no hex strings specified before, in some cases a user can already have the hexstrings representing color. In this case the color encoding in marks must be used.-->
},
{
"name": "X_SCALE",
"type": "linear",
"zero": true,
"domain": [-180, 180], <!-- This is the extent of the axes after having applied the transform to coordinate system-->
"range": "width" <!-- refers to plot width-->
},
{
"name": "Y_SCALE",
"type": "linear",
"zero": true,
"domain": [-81, 87],
"range": "height" <!-- refers to plot height-->
}
],
Marks
Marks define the actual plots of the particular elements.
"marks": [
{
"type": "raster", <!-- type of element -->
"from": {"data": "UUID3"},
"zindex": 0,
"encode": {
<!-- "channel": {"value": 0}, // with "data": "UUID2" -->
"opacity": {"value": 1}, <!-- sdata-plot "alpha". Also, it was fillOpacity -->
"color": {"scale": "normalize", "field": "channel_zero_name"}
<!--"zindex": {"field": "point_importance"}-->
}
},
{
"type": "shape", <!-- type of element -->
"from": {"data": "UUID5"},
"zindex": 1,
"encode": {
<!-- "channel": {"value": 0},
"opacity": {"value": 1}, <!-- sdata-plot "alpha". Also, it was fillOpacity -->
"color": {hexstrings} <!-- in case of predetermined hexstrings -->
<!--"zindex": {"field": "point_importance"}-->
}
}
],
- Ngôn ngữ chính
- Python
- Star
- 86
- Fork
- 21
- Merge trung bình
- 14 giờ 50 phút
- Pull request đã merge (30 ngày)
- 3
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 scverse/spatialdata-plot
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
scverse/spatialdata-plot#775 ·
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
scverse/spatialdata-plot#777 ·
-
`pl.show()` leading to `ValueError` due to mismatch between number of axes and number of panels Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
scverse/spatialdata-plot#749 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
scverse/spatialdata-plot#747 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
scverse/spatialdata-plot#677 ·
Tất cả issue của scverse/spatialdata-plot
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100