Title: AutoDateFormatter shows too much precision · Issue #4808 · matplotlib/matplotlib · GitHub
Open Graph Title: AutoDateFormatter shows too much precision · Issue #4808 · matplotlib/matplotlib
X Title: AutoDateFormatter shows too much precision · Issue #4808 · matplotlib/matplotlib
Description: When trying to plot some date-based values, I noticed that the default labels show too much precision. I was trying to plot some data points over a minutes to hours interval, and the default plot kept showing times using a micro-second p...
Open Graph Description: When trying to plot some date-based values, I noticed that the default labels show too much precision. I was trying to plot some data points over a minutes to hours interval, and the default plot k...
X Description: When trying to plot some date-based values, I noticed that the default labels show too much precision. I was trying to plot some data points over a minutes to hours interval, and the default plot k...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/4808
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"AutoDateFormatter shows too much precision","articleBody":"When trying to plot some date-based values, I noticed that the default labels show too much precision. I was trying to plot some data points over a minutes to hours interval, and the default plot kept showing times using a micro-second precision. Given that the major ticks were minutes apart, this seems overkill to me (and the extra digits quickly clutter the display, making the labels overlap).\n\nDiving into the code, it seems the default \"scaled\" member of the\nAutoDateFormatter, which determines what formats to use when, can be\nimproved. Currently, it:\n- Uses microsecond precision when the ticks are minutes or less apart.\n- Uses second precision when the ticks are hours apart\n- Uses day-precision, month or year precision when the ticks are days\n or more apart (these are fine, so I lumped them together).\n\nI think it should be like this:\n- Use microsecond precision when the ticks less than a second apart\n- Use second precision when the ticks are seconds apart\n- Use minute precision when the ticks are minutes or hours apart\n- Use day-precision, month or year precision when the ticks are days\n or more apart (unchanged).\n\nNote that there is no point in displaying only the hour when the ticks\nare hours apart, since then it won't be immediately clear that a time is\nbeing displayed. Adding the (technically superfluous) :00 for the\nminutes should prevent this, which is why the minute precision should\nalso be used when the ticks are hours apart.\n\nThe above would be implemented by the following change (documentation\nnot updated yet):\n\n```\n@@ -563,8 +573,9 @@\n self.scaled = {DAYS_PER_YEAR: '%Y',\n DAYS_PER_MONTH: '%b %Y',\n 1.0: '%b %d %Y',\n- 1. / HOURS_PER_DAY: '%H:%M:%S',\n- 1. / (MINUTES_PER_DAY): '%H:%M:%S.%f'}\n+ 1. / HOURS_PER_DAY: '%H:%M',\n+ 1. / SEC_PER_DAY: '%H:%M:%S',\n+ 1. / MUSECONDS_PER_DAY: '%H:%M:%S.%f'}\n\n def __call__(self, x, pos=None):\n locator_unit_scale = float(self._locator._get_unit())\n```\n\nDoes this sound reasonable?\n","author":{"url":"https://github.com/matthijskooijman","@type":"Person","name":"matthijskooijman"},"datePublished":"2015-07-28T14:40:40.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/4808/matplotlib/issues/4808"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:a4fe4961-da14-463a-c406-b35c2d499998 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E072:A6E9E:173D02:1E6185:6A53D93D |
| html-safe-nonce | bcd9def96a789452c4c194877d10791e6c3d62846a0b7a39bc4402db44e69009 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMDcyOkE2RTlFOjE3M0QwMjoxRTYxODU6NkE1M0Q5M0QiLCJ2aXNpdG9yX2lkIjoiMTQyODU3Njk3ODUwODk2MjEwOSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 433e6a001109232a018fba9a7a1b796e35f5317d86ac7b6b57aa7a5b5a24b89a |
| hovercard-subject-tag | issue:97722687 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/4808/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d114a1eb3985002ccc935339585eb3f844d7cea0bd67f834fcaa9708fc59f1c1/matplotlib/matplotlib/issues/4808 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d114a1eb3985002ccc935339585eb3f844d7cea0bd67f834fcaa9708fc59f1c1/matplotlib/matplotlib/issues/4808 |
| og:image:alt | When trying to plot some date-based values, I noticed that the default labels show too much precision. I was trying to plot some data points over a minutes to hours interval, and the default plot k... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | matthijskooijman |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width