Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Cluster Visualization #1323

Merged
merged 26 commits into from
Dec 7, 2023
Merged

New Cluster Visualization #1323

merged 26 commits into from
Dec 7, 2023

Conversation

Kr0nox
Copy link
Member

@Kr0nox Kr0nox commented Oct 2, 2023

This PR adds a new way to default way to visualize clusters. The default is a graph having the submissions in the cluster as nodes and the average similarity as edges. Edges can only exists between the comparisons in the top list.

The old radar chart visualization is still accassible through a selector at the top of the container.

Unbenannt

@sonarcloud
Copy link

sonarcloud bot commented Oct 2, 2023

[JPlag Report Viewer] Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@tsaglam tsaglam added enhancement Issue/PR that involves features, improvements and other changes minor Minor issue/feature/contribution/change report-viewer PR / Issue deals (partly) with the report viewer and thus involves web-dev technologies labels Oct 2, 2023
@tsaglam tsaglam added this to the v5.0.0 milestone Oct 4, 2023
@tsaglam tsaglam changed the title New Cluster Visuaization New Cluster Visualization Oct 5, 2023
Copy link
Member

@tsaglam tsaglam left a comment

Choose a reason for hiding this comment

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

I tested the feature with a few real-world datasets. Looks already really good! I have the following comments solely based on using the feature:

  • When hiding submissions, the names are hidden in the list of cluster members but not in the graph view itself
  • It would be cool if the cluster member list also supports filtering/searching
  • It would be cool to have either a mouseover for edges showing the similarity or if a mouseover for the edges highlights the corresponding comparison in the cluster member list to the right
  • If comparisons are not included in the report, then there are no lines in the graph view. Currently, this is not explained to the user. We could either introduce thin, gray, dashed lines for these missing edges or add a legend that states why these are missing (or both)
  • the edges of the graph are in the foreground, it would probably look a bit better if the nodes are in the foreground
  • In some clusters, it is hard to differentiate by the line opacity which edges are the important ones. Maybe we could scale the opacity based on the lowest and highest edges in the graph? (I have more ideas here; we can discuss them in the next dev meeting)
  • unrelated: The radar view breaks when either there are <= 3 submissions in the cluster or when comparisons are not part of the report. We could disable the radar view in these cases.

Not all of these points need to be addressed in this PR, maybe we can discuss which ones we want to include directly and which ones we want in a separate PR.

@sebinside
Copy link
Member

In big clusters, I also wondered about the missing lines, see the attached image. I don't know what you discussed with @tsaglam, but this can of course also be a separate PR together with the other ideas by timur. If time allows it, these other improvements would be great for v5, nevertheless.

image

Copy link
Member

@sebinside sebinside left a comment

Choose a reason for hiding this comment

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

Really great PR, could be easliy one of the biggest improvements of the JPlag clustering since its introduction. I only have minor comments, please see above.

…ter-graph

# Conflicts:
#	report-viewer/src/utils/ColorUtils.ts
#	report-viewer/src/views/ClusterView.vue
@Kr0nox
Copy link
Member Author

Kr0nox commented Nov 28, 2023

I have implemented the dashed line. (newest version here
The issues I see with it are

  • Especially with large clusters it gets really overloaded
  • The use of a potential mouse over will be really difficult to use, due to all the lines so close to each other

What are your opinions on that @tsaglam @sebinside ?

@tsaglam
Copy link
Member

tsaglam commented Nov 29, 2023

What are your opinions on that?

I think it looks good! On a large screen, the lines are not too crowded. On my smaller one it is a bit more dense but still fine! Ideally, we would not have mouseover/clicking for the dashed lines, only for the included ones.
Distinction between red lines is now also much better!

image

For some additional opinions: @dfuchss @dr6817

@Kr0nox
Copy link
Member Author

Kr0nox commented Nov 29, 2023

I have implemented that the row to the hovered edge in the tablle gets highlighted now. (accessile here again)
Is that how you wanted it @tsaglam ?

Do you also want me to try and implement a tooltip in addition to that? If so what text would you want on that tooltip?

@tsaglam
Copy link
Member

tsaglam commented Nov 30, 2023

@Kr0nox

Is that how you wanted it

Yes looks great! One minor thing: When an edge is at the bottom of the list, it seems at first glance that there is no mousover. Would it be possible to scroll down if the mouseover edge is not visible in the scroll view?

Do you also want me to try and implement a tooltip in addition to that? If so what text would you want on that tooltip?

No, I think we do not need that anymore, as the highlighting fulfills all the needs.

Two minor issue:

  1. The gray lines should be a bit darker/less transparent

  2. When min=100% then the edges look somewhat thin. They should probably strong and red, as it is 100%:

Click to expand!

image

Here is the cluster:

image

@dfuchss
Copy link
Member

dfuchss commented Dec 2, 2023

What are your opinions on that?

I think it looks good! On a large screen, the lines are not too crowded. On my smaller one it is a bit more dense but still fine! Ideally, we would not have mouseover/clicking for the dashed lines, only for the included ones. Distinction between red lines is now also much better!

image

For some additional opinions: @dfuchss @dr6817

It looks nice :)

Copy link
Member

@tsaglam tsaglam left a comment

Choose a reason for hiding this comment

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

As far as I can tell, it looks good. The darker lines are also much better!

Copy link
Member

@sebinside sebinside left a comment

Choose a reason for hiding this comment

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

LGTM

@tsaglam
Copy link
Member

tsaglam commented Dec 7, 2023

@Kr0nox if we solve the conflicts, we can merge. 👍

Copy link

sonarcloud bot commented Dec 7, 2023

[JPlag Report Viewer] Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@Kr0nox
Copy link
Member Author

Kr0nox commented Dec 7, 2023

@tsaglam Conflicts are resolved

@tsaglam tsaglam merged commit d07484e into develop Dec 7, 2023
17 checks passed
@tsaglam tsaglam deleted the report-viewer/cluster-graph branch December 7, 2023 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issue/PR that involves features, improvements and other changes minor Minor issue/feature/contribution/change report-viewer PR / Issue deals (partly) with the report viewer and thus involves web-dev technologies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants