Request for feedback on web-based ggplot2 graphs

28 views
Skip to first unread message

izahn

unread,
Sep 3, 2009, 5:07:23 PM9/3/09
to ggplot2
I've recently built a website using R and Rapache to process survey
and reaction time data. I'm using ggplot2 to generate graphical
reports for participants, and am trying to create an interactive feel
to the website by letting participants choose variables to facet by
etc. I'd appreciate any feedback on the graphs, and any suggestions
about how to improve the presentation. The website is at http://yourpsyche.org.
For the next few days you can log on with the user name and password
"tmp3" so you can jump right to the results section (although if you
want to create your own account and go through the studies please feel
free to do so).

All the best,
Ista

Mike Lawrence

unread,
Sep 3, 2009, 7:06:57 PM9/3/09
to izahn, ggplot2
See below for constructive criticism of each plot. Overall, it's done
very well and it's a very fun idea to let Ss play with their data
afterwards like this.

Religious Beliefs
- I wouldn't use bars in the beliefs plot. I pretty much never use
bars personally, and they certainly don't make sense on a scale with
no true zero (i.e. you arbitrarily set disbelieve as zero).
- Add an error bar to the aggregate data (i.e. not the particular
participant's response). A 95% confidence interval would be nice, or maybe
Fisher's LSD (plot half the LSD on each side of the mean).
- Remove the "Average\nresponse\n" from key labels in all sub plots
(eg. split by gender). In fact, the redundant mapping between the
x-axis and color could be considered chart junk, so maybe the key can
be dropped completely. Keep the color if you really want, but
certainly drop the key.
- You have pretty long x-axis labels; why not maintain the theme from
the demographic data and put the class variables on the y-axis and
data on the x-axis?

Association between religious beliefs and need satisfaction
- this graph does indeed require a key, but remove the
"Average\nresponse\n" from key labels in all sub plots (eg. split by
gender).

Mood and self-esteem scores
- all the notes from Religious Beliefs apply here.


-Mike
--
Mike Lawrence
Graduate Student
Department of Psychology
Dalhousie University

Looking to arrange a meeting? Check my public calendar:
http://tr.im/mikes_public_calendar

~ Certainty is folly... I think. ~

Ista Zahn

unread,
Sep 4, 2009, 8:54:46 AM9/4/09
to Mike Lawrence, ggplot2
Thanks for your suggestions Mike, all good points. A few follow-up
questions/comments (in-line below):

On Thu, Sep 3, 2009 at 7:06 PM, Mike Lawrence<Mike.L...@dal.ca> wrote:
> See below for constructive criticism of each plot. Overall, it's done
> very well and it's a very fun idea to let Ss play with their data
> afterwards like this.
>
> Religious Beliefs
> - I wouldn't use bars in the beliefs plot. I pretty much never use
> bars personally, and they certainly don't make sense on a scale with
> no true zero (i.e. you arbitrarily set disbelieve as zero).
> - Add an error bar to the aggregate data (i.e. not the particular
> participant's response). A 95% confidence interval would be nice, or maybe
> Fisher's LSD (plot half the LSD on each side of the mean).

Agreed. The question is, what kind of geom to use? I'm thinking the
pointrange geom might be best, with the lines representing 95%
confidence intervals. Does that sound reasonable?

> - Remove the "Average\nresponse\n" from key labels in all sub plots
> (eg. split by gender). In fact, the redundant mapping between the
> x-axis and color could be considered chart junk, so maybe the key can
> be dropped completely. Keep the color if you really want, but
> certainly drop the key.

The issue I have with this is that the x-axis is not visible without
scrolling down the page, while the key is visible much sooner. I
recognize that it is redundant but I really don't want to make people
scroll all the way down just to figure out what the graph is telling
them. Thoughts?

> - You have pretty long x-axis labels; why not maintain the theme from
> the demographic data and put the class variables on the y-axis and
> data on the x-axis?
>
I considered this, but I feel like it's breaking a convention that
many people are used to (or maybe just me...). Personally I find it a
lot harder to compare values when graphs are presented this way.

> Association between religious beliefs and need satisfaction
> - this graph does indeed require a key, but remove the
> "Average\nresponse\n" from key labels in all sub plots (eg. split by
> gender).
>

Agreed, thanks.

> Mood and self-esteem scores
> - all the notes from Religious Beliefs apply here.
>
>
> -Mike
>
> On Thu, Sep 3, 2009 at 6:07 PM, izahn<ista...@gmail.com> wrote:
>>
>> I've recently built a website using R and Rapache to process survey
>> and reaction time data. I'm using ggplot2 to generate graphical
>> reports for participants, and am trying to create an interactive feel
>> to the website by letting participants choose variables to facet by
>> etc. I'd appreciate any feedback on the graphs, and any suggestions
>> about how to improve the presentation. The website is at http://yourpsyche.org.
>> For the next few days you can log on with the user name and password
>> "tmp3" so you can jump right to the results section (although if you
>> want to create your own account and go through the studies please feel
>> free to do so).
>>
>> All the best,
>> Ista
>> >>
>>
>>
>
>
>
> --
> Mike Lawrence
> Graduate Student
> Department of Psychology
> Dalhousie University
>
> Looking to arrange a meeting? Check my public calendar:
> http://tr.im/mikes_public_calendar
>
> ~ Certainty is folly... I think. ~
>



--
Ista Zahn
Graduate student
University of Rochester
http://yourpsyche.org

Andreas Christoffersen

unread,
Sep 4, 2009, 9:08:39 AM9/4/09
to Ista Zahn, ggplot2
Awesome project Ista! Good for you.

A few suggestions:

* I would leave the key and remove the x-axis labels (categories gets very cluttered with facet_wrap).

* I suggest you use the same distinctive color for "your responde" in the different charts (e.g. black). I think this would give a better overall feel, and faster intepretation. In the barcharts I would consider replacing the "your response" bar with a geom_hline. This makes it even easier to compare one self with the other categories, and also free som valuable chart space.
Good luck!
Andreas

Mike Lawrence

unread,
Sep 4, 2009, 9:22:46 AM9/4/09
to Ista Zahn, ggplot2
On Fri, Sep 4, 2009 at 9:54 AM, Ista Zahn<ista...@gmail.com> wrote:
>
> Thanks for your suggestions Mike, all good points. A few follow-up
> questions/comments (in-line below):
>
> On Thu, Sep 3, 2009 at 7:06 PM, Mike Lawrence<Mike.L...@dal.ca> wrote:
>> - Add an error bar to the aggregate data (i.e. not the particular
>> participant's response). A 95% confidence interval would be nice, or maybe
>> Fisher's LSD (plot half the LSD on each side of the mean).
>
> Agreed. The question is, what kind of geom to use? I'm thinking the
> pointrange geom might be best, with the lines representing 95%
> confidence intervals. Does that sound reasonable?

I'm a geom_point + geom_errorbar man myself, but geom_point +
geom_pointrange is reasonable too.

>> - Remove the "Average\nresponse\n" from key labels in all sub plots
>> (eg. split by gender). In fact, the redundant mapping between the
>> x-axis and color could be considered chart junk, so maybe the key can
>> be dropped completely. Keep the color if you really want, but
>> certainly drop the key.
>
> The issue I have with this is that the x-axis is not visible without
> scrolling down the page, while the key is visible much sooner. I
> recognize that it is redundant but I really don't want to make people
> scroll all the way down just to figure out what the graph is telling
> them. Thoughts?

While it's "work" for the reader to have to look to the bottom of the
plot for info on that axis, it's work that the reader expects to have
to do. On the other hand, when presented with redundant info in a key,
they don't know it's redundant until they see the axis and can
potentially become confused (like I was for a bit). Maybe a smart
reader will see all unique values from the key demarcated by unique
bins on the x axis in each plot and deduce the redundancy, but I
wouldn't want to rely on that.

>> - You have pretty long x-axis labels; why not maintain the theme from
>> the demographic data and put the class variables on the y-axis and
>> data on the x-axis?
>>
> I considered this, but I feel like it's breaking a convention that
> many people are used to (or maybe just me...). Personally I find it a
> lot harder to compare values when graphs are presented this way.

I grant that the user's previous experience with conventions should be
taken into account when designing a graphic, but I'd argue that
sometimes conventions can arbitrarily narrow design in ways that
hinder effective communication of information. These cases are always
hard to quantify, but I'd argue that long axis labels is a good case
for placing the independent variable on the y-axis for easy reading.
An example is my entry to the case study competition:
http://ggplot2.wik.is/Case_study_competition/Case_study_entry%3a_Reliability_of_and_correlations_between_attention_networks

Cheers,

Mike

Ista Zahn

unread,
Sep 4, 2009, 9:45:30 AM9/4/09
to Mike Lawrence, ggplot2
On Fri, Sep 4, 2009 at 9:22 AM, Mike Lawrence<Mike.L...@dal.ca> wrote:
> On Fri, Sep 4, 2009 at 9:54 AM, Ista Zahn<ista...@gmail.com> wrote:
<snip>

>>> - Remove the "Average\nresponse\n" from key labels in all sub plots
>>> (eg. split by gender). In fact, the redundant mapping between the
>>> x-axis and color could be considered chart junk, so maybe the key can
>>> be dropped completely. Keep the color if you really want, but
>>> certainly drop the key.
>>
>> The issue I have with this is that the x-axis is not visible without
>> scrolling down the page, while the key is visible much sooner. I
>> recognize that it is redundant but I really don't want to make people
>> scroll all the way down just to figure out what the graph is telling
>> them. Thoughts?
>
> While it's "work" for the reader to have to look to the bottom of the
> plot for info on that axis, it's work that the reader expects to have
> to do. On the other hand, when presented with redundant info in a key,
> they don't know it's redundant until they see the axis and can
> potentially become confused (like I was for a bit). Maybe a smart
> reader will see all unique values from the key demarcated by unique
> bins on the x axis in each plot and deduce the redundancy, but I
> wouldn't want to rely on that.
>

Yep, great point. And, switching from bar geom to pointrange geom
might free up some vertical space, so at least you don't have to
scroll down so far. Thanks.

-Ista

>>> - You have pretty long x-axis labels; why not maintain the theme from
>>> the demographic data and put the class variables on the y-axis and
>>> data on the x-axis?
>>>
>> I considered this, but I feel like it's breaking a convention that
>> many people are used to (or maybe just me...). Personally I find it a
>> lot harder to compare values when graphs are presented this way.
>
> I grant that the user's previous experience with conventions should be
> taken into account when designing a graphic, but I'd argue that
> sometimes conventions can arbitrarily narrow design in ways that
> hinder effective communication of information. These cases are always
> hard to quantify, but I'd argue that long axis labels is a good case
> for placing the independent variable on the y-axis for easy reading.
> An example is my entry to the case study competition:
> http://ggplot2.wik.is/Case_study_competition/Case_study_entry%3a_Reliability_of_and_correlations_between_attention_networks
>
> Cheers,
>
> Mike
>
> --
> Mike Lawrence
> Graduate Student
> Department of Psychology
> Dalhousie University
>
> Looking to arrange a meeting? Check my public calendar:
> http://tr.im/mikes_public_calendar
>
> ~ Certainty is folly... I think. ~
>

--

Nicholas Lewin-Koh

unread,
Sep 4, 2009, 11:31:59 AM9/4/09
to Ista Zahn, ggplot2
Hi Ista,
Looked at your site, the site design is nice. Have you thought about the
scalability of your graphs?
As more people take the survey, some of the plots will become very
dense. You may want to start
now plotting bivariate densities, or at least play with random data that
is the size you expect over time.
Also in the demographic summaries, I would include a dot with the
annotation.

On a more statistical note, have you thought about more aggregate
measures for your survey? Factor analysis?
It seems that there will be some latent variables. Also, web surveys, as
I am sure you are aware are inherently biased
do you have any thoughts about augmenting with data collected from other
modalities?

Nicholas

Ista Zahn

unread,
Sep 4, 2009, 12:21:09 PM9/4/09
to Nicholas Lewin-Koh, ggplot2
Hi Nicholas, thanks for your comments and suggestions!

On Fri, Sep 4, 2009 at 11:31 AM, Nicholas Lewin-Koh<ni...@hailmail.net> wrote:
> Hi Ista,
> Looked at your site, the site design is nice. Have you thought about the
> scalability of your graphs?
> As more people take the survey, some of the plots will become very
> dense. You may want to start
> now plotting bivariate densities, or at least play with random data that
> is the size you expect over time.

Great idea, thanks.

> Also in the demographic summaries, I would include a dot with the
> annotation.

Agreed, it certainly can't hurt.

>
> On a more statistical note, have you thought about more aggregate
> measures for your survey? Factor analysis?
> It seems that there will be some latent variables.

Possibly. I'm concerned though about keeping it simple enough for
laypeople to understand. The results summaries are intended for a
non-technical audience and I don't want to confuse people. But yes, I
am thinking about these issues.

Also, web surveys, as
> I am sure you are aware are inherently biased
> do you have any thoughts about augmenting with data collected from other
> modalities?

I think the internet sample bias problem is a relative one. I study
social psychology, a field that normatively is not concerned with
random sampling (most social psychology studies use undergraduate
psychology students as participants), so compared to the norm in my
field I don't think this is much of an issue (see
http://homepage.psy.utexas.edu/homepage/faculty/Gosling/reprints/AmPsy04Shouldwetrustwebstudies.pdf).
I think this is an important issue, but I don't have any short-term
solution to it.

Thanks again for your comments!

-Ista

>
> Nicholas

Reply all
Reply to author
Forward
0 new messages