1

I'm designing a web-based analytics dashboard that contains a chart in which the x-axis represents the days of a campaign, and it always shows 31 days. However, the duration of a campaign varies; it may be predefined to any period between a single to 31 days.
In cases when the campaign's duration is shorter than 31 days, I want to make it clear which area of the chart is relevant.
Are there any existing best practice solutions for this scenario?
One idea I have is graying out the area that's not required (see image below). A bar chart with a 31-days x-axis that shows a 7-days long campaign

The chart's width is fixed and optimized for displaying a 31-days range. I'm not changing the number of days on the x-axis to avoid scenarios in which there is a single floating dot or bar on the screen or several data points with vast space between them (see images below). A bar chart with a 7-days x-axis that shows a 7-days long campaign A bar chart with a 3-days x-axis that shows a 3-days long campaign

  • 1
    So there could be data anywhere on the 31 day range? Are there also instances there's a flurry of data - a gap - then another lump of activity? or are campaigns only a defined block? – Mike M Oct 15 '19 at 21:58
  • 1
    "I'm not changing the number of days on the x-axis to avoid scenarios in which there is a single floating dot or bar on the screen or several data points with vast space between them" Just because you've provided examples of a poorly-implemented non-fixed length solution doesn't mean that good implementations, such as plots with dynamically-set bar widths, don't exist. Is the problem that the technology you're currently using doesn't make such options easy to implement? – sintax Oct 16 '19 at 18:53
4

There's an opportunity to highlight the campaign (and its length), while deemphasizing the zone without data.

If you want to keep a persistent scale, you could focus instead of graphically labeling the campaign duration, and add a text label explicitly calling out the length of the campaign.

This way if users can move forward and backward in time for previous campaigns, there's a label and a visual indicator showing the length.

enter image description here

That way they don't have to count the campaign days in their head, and it could provide some further context:

  • 'We spent x amount on y for a 5 day campaign'

I don't know too much about your use case, but if it's important to understand the balance between total campaign resources and campaign duration, you can place it into a title or header:

enter image description here

Total counts across categories can be read as a single sentence:

enter image description here

| improve this answer | |
1

If we apply some of the general principles of data visualization design where we should reduce the amount of noise and let the data take centre stage, here are some strategies that you can certainly consider:

  • Unless you need to compare different campaigns side-by-side, it is preferable to fill up the chart with data rather than leaving a large chunk grayed out.
  • Unless you need to provide 'live' update of the activity and want to keep a visual consistency for the activity, it is not necessarily to have a fixed range for the length of the campaign.
  • Unless it is important to show the exact dates, an alternative could be to just display the starting date of the campaign and truncate the campaign date information to Day 1, Day 2, etc until the end of the campaign.
  • Unless the activity values are discreet and not linked by time, you can consider using line charts that can show the trend more clearly than bar charts, while also reducing the amount of space taken up by the colours of the bars.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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