I would like to get a chart input from a user:


download bmml source – Wireframes created with Balsamiq Mockups

One way could be to let the user manually enter (X, Y) values like here but that doesn't seem like a good UX. How could I do that otherwise?

The time range would typically be hours running over a day, and the values somewhere between -22 and +22. The accuracy in granularity is not crucial but the more accurate the better.

  • How accurate do these values need to be? How wide of a range of values/time are you dealing with? How granular is the collected data supposed to be/is there a minimum step size (e.g. user can only add data at 24-hour increments)? For example, if your value represents "glasses of water consumed" (usually < ~12 or so) and only collecting one value per day over the span of a week, then it'd be reasonable to allow the user to input data by clicking on the chart. However, if your use case demands high levels of granularity, it might be better to provide the user with a tabular input of some kind. Commented Jun 13, 2018 at 16:52
  • @maxathousand Thanks for the comment, I've edited the question to answer your questions
    – 7hibault
    Commented Jun 13, 2018 at 17:16

3 Answers 3


When you say that allowing the users to manually enter values "doesn't seem like good UX", it is important to keep in mind that this is going to be context dependent, and some of this information is missing in the question. The only thing mentioned is that the accuracy is not crucial but the more accurate the better (is that from the user's point of view?).

If we assume this to be true from the user's perspective, then manual entry does allow for the most accurate input. However, we need to balance this with what the purpose of the chart is, and whether there is an interaction between the input and the chart that helps to improve the outcome of the task they are trying to perform.

For example, if there is feedback from the chart as a result of the input (e.g. you zoom into the specific region) then it is possible that direct input on the chart (e.g. drag around a region) can be more intuitive. However, if this is on a mobile device then action of the input itself could be difficult, and the navigation afterwards also awkward.

So the point is that you need to define the task and the expectations of the user before you can determine whether the experience is going to be optimal. Something that helps you determine this would be looking at the frequency of the different types of input and work out the worst case scenarios. If you can provide a good experience most of the time, and the impact of the bad experience doesn't lead to severe repercussions then that's not a bad starting point.


How about using interactive charts that allow users to click all over them?


Will the users really have to input the entire chart at once, or add data points as they progress through the day?

If they have to enter the whole chart, it means that they need to record the data elsewhere before. No user can draw accurately a chart from -22 to +22 over 24 hours from pure memory. If they record it or take it from another source, what format do they use? Is there any way this data could be imported?

Depending on the exact use case, why not provide them an easy way to report a data point very quickly, so they can do it as often as needed? X coordinate (time) could default to current time (but could be changed by the user to report a past observation), so they would only need to enter Y coordinate.

The chart can then be updated accordingly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.