| Summary: | System monitor pie chart scaling error with non-zero manual data range | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kquickcharts | Reporter: | Roman Lebedev <lebedev.ri> |
| Component: | general | Assignee: | Arjen Hiemstra <ahiemstra> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | kdelibs-bugs-null, nate, p.r.worrall |
| Priority: | NOR | ||
| Version First Reported In: | 5.94.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/frameworks/kquickcharts/-/commit/7d72fc0e9173dc95e8095c1d33ded5ca45673b90 | Version Fixed/Implemented In: | 5.98 |
| Sentry Crash Report: | |||
| Attachments: |
pie chart settings in system monitor
sensors on system monitor idle chart chart under load |
||
|
Description
Roman Lebedev
2022-07-28 20:05:19 UTC
The scaling looks ok to me. What I did: 1. Add Widget => System Monitor Sensor (defaults to a pie chart) 2. Add sensor "Core 1 Total Usage" 3. Set manual data range 0 to 100% 4. Run something that uses 100% CPU (e.g. the "stress" utility) The pie chart fills 360deg Can you give a specific case where the scaling looks wrong? (In reply to Roman Lebedev from comment #0) > 1. The coordinate system is wrong. Somehow "Start from angle = -180*" > results in starting from six-o-clock, which is -90* in reality: > https://upload.wikimedia.org/wikipedia/commons/9/9a/Degree-Radian_Conversion. > svg Starting angle is arbitrary and there's no standard. In the case of the Quick Charts library, it follows what other chart libraries do: 0 is at the top, so -180 degrees is at the bottom. > 2. There is some weird normalization bug. Even when the underlying data > reaches the specified data range max, the pie chart is still far from being > full. Please show a code sample where this happens. If you're using automatic maximum, the data source may be providing a different maximum than what you expect. Created attachment 150971 [details]
pie chart settings in system monitor
Created attachment 150972 [details]
sensors on system monitor
Created attachment 150973 [details]
idle chart
Created attachment 150974 [details]
chart under load
(In reply to Arjen Hiemstra from comment #2) > (In reply to Roman Lebedev from comment #0) > > 1. The coordinate system is wrong. Somehow "Start from angle = -180*" > > results in starting from six-o-clock, which is -90* in reality: > > https://upload.wikimedia.org/wikipedia/commons/9/9a/Degree-Radian_Conversion. > > svg > > Starting angle is arbitrary and there's no standard. In the case of the > Quick Charts library, it follows what other chart libraries do: 0 is at the > top, so -180 degrees is at the bottom. > > > 2. There is some weird normalization bug. Even when the underlying data > > reaches the specified data range max, the pie chart is still far from being > > full. > > Please show a code sample where this happens. If you're using automatic > maximum, the data source may be providing a different maximum than what you > expect. I'm using pie chart in system monitor sensor, measuring cpu temperature. Uploaded screenshots, let me know if that is not sufficient.. I can reproduce the scaling error, it occurs when using a manual data range with a non-zero "From" value: Using a "CPU Total Usage" sensor: 1. If the data range is set to "From: 0%" & "To: 100%", then 100% CPU is full scale as expected 2. If the data range is set to "From: 20%" & "To: 100%", then 100% CPU is only about 3/4 full scale https://invent.kde.org/frameworks/kquickcharts/-/merge_requests/46 I haven't touched multi-item source handling, i don't really understand how it's supposed to behave, and i think it might not be handled correctly. Fixed by Roman Lebedev with https://invent.kde.org/frameworks/kquickcharts/-/commit/7d72fc0e9173dc95e8095c1d33ded5ca45673b90 in Frameworks 5.98! |