Re: Regarding plotting stacked histograms with custom colors

Debostuti Ghoshdastidar <[email protected]> Thu, 18 May 2023 06:30:52 +0530
Newsgroups gmane.comp.graphics.gnuplot.user
Message-ID <CAJYAmDWNr7ACFRpoAzGPK5+pgBT8BXoKP4GnHYLnzBUT9O5tJQ@mail.gmail.com>
That's great!! Thanks a lot Ethan...

On Thu, 18 May 2023, 02:10 Ethan Merritt, <[email protected]> wrote:

> On Wednesday, 17 May 2023 09:47:43 PDT Debostuti Ghoshdastidar wrote:
> > Hi Ethan
> >
> > Thank you for the solution. Each Y column will be a score for a
> particular
> > amino acid. The Y columns will be in increasing order of the score value.
> > Each Z will always correspond to a particular color we use to represent
> the
> > amino acid that will be in the corresponding y column. We will use a set
> of
> > 20 colors to represent 20 amino Acids.
>
> Ah. In that case you probably don't want "lc palette", which assumes
> a continuous range of values and a smoothly-varying color palette.
> Instead define 20 distinct colors in a convenient range of linetypes,
> say lt 101 through lt 120, indexed by the value in column Zn.
> That matches this demo from the on-line collection very closely:
>
>     https://gnuplot.sourceforge.net/demo_5.4/histogram_colors.html
>
> If you have the one letter code in the Z column (P for Proline, etc)
> you could use pieces of the demo code directly.
>
>     alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
>     color(category) = 100 + strstrt(alphabet, category)
>     plot for [i=2:*:2] DATA using (column(i)):(color(strcol(i+1)) lc
> variable
>
> Otherwise you could define a slightly more complicated color() function
> that
> for instance maps from the 3-letter code, e.g.
>     array AA = ["Ala", "Cys", "Asp", "Glu", ...]
>     color(category) = 100 + sum [1:20] (category eq AA[i]) ? i : 0)
>
> cheers,
>
>         Ethan
> >
> > Debostuti
> >
> > On Wed, 17 May 2023, 21:36 Ethan Merritt, <[email protected]> wrote:
> >
> > > On Tue, May 16, 2023 at 9:52 PM Debostuti Ghoshdastidar <
> > > [email protected]> wrote:
> > >
> > >> Dear Users
> > >>
> > >> I have data in the following format
> > >>
> > >> X1 Y1 Z1 Y2 Z2...Yn Zn
> > >> X2 Y1 Z1 Y2 Z2...Yn Zn
> > >> .
> > >> .
> > >> .
> > >> Xn Y1 Z1 Y2 Z2...Yn Zn
> > >>
> > >> I would like to draw a rowstacked histogram (which I know how to)
> where
> > >> the
> > >> colors for the bars are specified by the corresponding Z columns. For
> > >> example Y1 should be colored based on Z1 value, Y2 based on Z2 value,
> and
> > >> so on...mush like the use of cbrange. Could you suggest how I can
> > >> accomplish this?
> > >>
> > >
> > > set style data histogram
> > > set style histogram rows
> > > set style fill solid border lc "black"
> > > set cbrange [0:<something>]
> > > plot for [i=2:*:2] DATA using (column(i)):(column(i+1)) lc palette
> title
> > > "???"
> > >
> > > It is not clear to me how you would label or construct a legend
> describing
> > > this in a way that is easy for the viewer to understand.  Perhaps
> > > superimpose
> > > a label on top of each individual box?
> > >
> > >     Ethan
> > >
> > >
> > >
> > >
> > >
> > >> Thank you
> > >>
> > >> Debostuti
> > >> --
> > >> Debostuti Ghosh Dastidar
> > >> Research Associate
> > >> PDB-India
> > >>
> > >> _______________________________________________
> > >> gnuplot-info mailing list
> > >> [email protected]
> > >> Membership management via:
> > >> https://lists.sourceforge.net/lists/listinfo/gnuplot-info
> > >>
> > >
> >
>
>
>
>
>

_______________________________________________
gnuplot-info mailing list
[email protected]
Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-info