title: Vioplot R: How to set axis labels
body: <p>I have a dataframe <code>mdata</code> which looks like:</p>
  
  <pre><code>&gt;head(mdata)
  
            ID  variable    value
   SJ5444_MAXGT   coding   4.241920
   SJ5426_MAXGT   coding   4.254331
   HR1383_MAXGT   coding   4.244994
   HR5522_MAXGT   missense 4.250347
  CH30041_MAXGT   missense 4.303174
   SJ5438_MAXGT   utr.3    4.242218
  </code></pre>
  
  <p>and I am trying to plot a violin plot like this:</p>
  
  <pre><code>x1&lt;- mdata$value[mdata$variable=='coding']
  x2&lt;- mdata$value[mdata$variable=='missense']
  x3&lt;- mdata$value[mdata$variable=='utr.3']
  
  vioplot(x1, x2, x3, names=as.character(unique(mdata$variable)), col="red")
  title("Violin Plot: Log10 values")
  </code></pre>
  
  <p>But I have another dataframe <code>ndata</code> which looks like:</p>
  
  <pre><code>&gt;head(ndata)
  
             ID variable   value
   SJ5444_MAXGT   coding   17455
   SJ5426_MAXGT   coding   17961
   HR1383_MAXGT   coding   17579
   HR5522_MAXGT   missense 17797
  CH30041_MAXGT   missense 20099
   SJ5438_MAXGT   utr.3    17467
  </code></pre>
  
  <p>Basically mdata$value is:</p>
  
  <pre><code>mdata$value = log10(ndata$value)
  </code></pre>
  
  <p>So I can make the Violin plot alright. But I need to change the Y-axis labels to match ndata$value and not mdata$value. I am plotting mdata$value but want the Y-axis labels taken from ndata$value. Just FYI, this is a subset of the actual data &amp; min and max values in actual data are 12 &amp; 36937 and I know how to plot it on a boxplot using:</p>
  
  <pre><code>axis(side=2,labels=round(10^(seq(log10(min(ndata$value)),log10(max(ndata$value)),len=5))),at=seq(log10(min(ndata$value)),log10(max(ndata$value)),len=5))
  </code></pre>
  
  <p>But I cannot plot the Y-axis labels to match ndata$value in the Violin plot. Any suggestions?</p>
  
  <p>P.S. I could not find a tag <code>vioplot</code> or <code>violinplot</code> so I couldn't tag it.</p>