plotly / plotly/plotly.py

Violin plot with 'name' attribute set as Datetime gets flattened out

Đang mở
#3,455 1 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

bug P3
Ngôn ngữ chính
Python
Star
18.8k
Fork
2.8k
Merge trung bình
16 giờ 26 phút
Pull request đã merge (30 ngày)
21

Mô tả

I'm trying to make a horizontally oriented ridge plot . Following is the code
plotly.version == 5.3.1

Ridgeline plot

base_date = dt.datetime.strptime(start_date,'%Y-%m-%d')
fig = go.Figure()

for day in range(days) :
                    offset = dt.timedelta(days=day)
                    date = (base_date + offset).strftime('%Y-%m-%d')
                    violin_plot_data = swData[date]
                    fig.add_trace(go.Violin(x = violin_plot_data.loc[:,metric_name] , 
                                                    orientation = 'h',
                                                    width = 3 ,
                                                    side = 'positive',
                                                    meanline_visible=True,
                                                    points = False
                                                   )
                                         )
    
fig.show()

I'm getting the following output :

newplot (1)

However I wish to set "name" attribute for individual dates . I did the following

Ridgelin plot

base_date = dt.datetime.strptime(start_date,'%Y-%m-%d')
fig = go.Figure()

for day in range(days) :
    offset = dt.timedelta(days=day)
    date = (base_date + offset).strftime('%Y-%m-%d')
    violin_plot_data = swData[date]
    fig.add_trace(go.Violin(x = violin_plot_data.loc[:,metric_name] , 
                                    orientation = 'h',
                                    width = 3 ,
                                    side = 'positive',
                                    name = date,
                                    meanline_visible=True,
                                    points = False
                                   )
                         )
fig.show()

The output that I'm getting is

newplot (2)

Kindly clarify if it's a bug in the framework or a silly mistake from my side . TY :)

EDIT : I've found a work around and answered it here [https://stackoverflow.com/a/69894008/6571670] but I feel Plotly should be able to parse dates explicitly

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Tái hiện ví dụ ridge-plot được cung cấp bằng Plotly 5.3.1, trước tiên không truyền và sau đó truyền chuỗi datetime dưới dạng name của mỗi violin trace. Theo dõi cách tên của các violin được phân tích và render, sau đó xác minh rằng các nhãn ngày vẫn phân biệt được và biểu đồ không bị làm phẳng; giữ lại workaround đã được báo cáo dưới dạng một trường hợp regression.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
data-visualization
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
55/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.