SourceForge logo
SourceForge logo
Menu

matplotlib-users

From: mdekauwe <mde...@gm...> - 2010年12月09日 22:42:49
Hi,
Has anyone ever managed to draw a taylor diagram in Matplotlib? For example
like this
http://www.mathworks.com/matlabcentral/fx_files/20559/2/taylordiag_fig.jpg
Cheers,
Martin
-- 
View this message in context: http://old.nabble.com/Taylor-diagram-tp30421393p30421393.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Arthur M. G. <am...@ir...> - 2010年12月10日 03:28:41
On 12/09/2010 05:42 PM, mdekauwe wrote:
>
> Hi,
>
> Has anyone ever managed to draw a taylor diagram in Matplotlib? For example
> like this
>
> http://www.mathworks.com/matlabcentral/fx_files/20559/2/taylordiag_fig.jpg
>
> Cheers,
>
> Martin
Not sure whether Matplotlib can do this, but it can be done with CDAT, 
another Python-based library: http://www2-pcmdi.llnl.gov/cdat
HTH,
AMG
-----------------
From: mdekauwe <mde...@gm...> - 2010年12月12日 22:45:00
Hi thanks for the link thats interesting though I would perhaps rather not
learn a new set of commands just for one plot. Though it seems from my
searching that this might be the only route!
cheers,
Martin
Arthur M. Greene wrote:
> 
> On 12/09/2010 05:42 PM, mdekauwe wrote:
>>
>> Hi,
>>
>> Has anyone ever managed to draw a taylor diagram in Matplotlib? For
>> example
>> like this
>>
>> http://www.mathworks.com/matlabcentral/fx_files/20559/2/taylordiag_fig.jpg
>>
>> Cheers,
>>
>> Martin
> 
> Not sure whether Matplotlib can do this, but it can be done with CDAT, 
> another Python-based library: http://www2-pcmdi.llnl.gov/cdat
> 
> HTH,
> 
> AMG
> 
> -----------------
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> 
-- 
View this message in context: http://old.nabble.com/Taylor-diagram-tp30421393p30441386.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: mdekauwe <mde...@gm...> - 2010年12月13日 00:10:39
Hi,
thanks to Juan for the Rpy package suggestion
I came up with this, which at least produces the plot. I can't quite work
out R specific bits at the moment (e.g. legend), but perhaps it might help
someone else.
#!/usr/bin/env python
import sys
from rpy2.robjects.packages import importr
import rpy2.robjects as robjects
r = robjects.r
# Note depends on R package plotrix
r.png(filename="x.png" ,width=480, height=480)
# fake some reference data
s = importr('stats')
ref = s.rnorm(30, sd=2)
ref_sd = r.sd(ref)
# add a little noise
model1 = s.rnorm(30, sd=2)
# add more noise
model2 = s.rnorm(30, sd=6)
# display the diagram with the better model
p = importr('plotrix')
#print plot
p.taylor_diagram(ref,model1)
# now add the worse model
p.taylor_diagram(ref,model2, add=True, col="blue")
# get approximate legend position
lpos = 1.5 * ref_sd[0]
# add a legend
#r.legend(lpos,lpos,legend=("Better","Worse"),pch=19,col=("red","blue"))
# now restore par values
#p.par(oldpar)
# show the "all correlation" display
p.taylor_diagram(ref,model1,pos_cor=False)
p.taylor_diagram(ref,model2,add=True,col="blue")
Martin
-- 
View this message in context: http://old.nabble.com/Taylor-diagram-tp30421393p30441744.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: mdekauwe <mde...@gm...> - 2010年12月13日 22:03:33
Here is a solution which doesn't really use matplotlib, however it is a work
around by interfacing with the R library. Personally I didn't like some of
the colour choices which are hardwired in the R code so I adjusted the R
code and re-compiled, however this assumes the code is as it comes from
Cran. It should produce a plot with two "models" compared to the observed.
#!/usr/bin/env python
import sys
from rpy2.robjects.packages import importr
import rpy2.robjects as robjects
import numpy as np
import rpy2.robjects.numpy2ri
# Note depends on R package plotrix
r = robjects.r
p = importr('plotrix')
r.pdf('x.pdf')
# make up some data, compare (any number of) models with observed
obs = np.random.random_sample(10)
mod = np.random.random_sample(10)
mod2 = np.random.random_sample(10) # etc
model_list = [mod, mod2]
first_model_comp = True # just a hack so that after first comparsion we call
"add=True"
colour_list = ['blue','green','red'] 
i = 0
for model in model_list:
 
 # make taylor plot...
 if first_model_comp == True:
 p.taylor_diagram(obs, model, normalize=False, main='',
pos_cor=False, pcex=1.5, col=colour_list[i])
 first_model_comp = False
 else:
 p.taylor_diagram(obs, model, add=True, normalize=False, pcex=1.5,
col=colour_list[i])
 i += 1
# Observations are hardwired in the R code, so this is hack so that
everything is nicely
# declared in the legend. All need to be passed as numpy arrays as Rpy2 has
an issue with
# tuples...no doubt there is a better solution, however this works!
colour_list.append('darkgreen')
colour_list = np.array(colour_list)
shapes = np.array([19,19,15]) # circles and a square for the observation
model_list.append("Observation") # add observation to the list of vars
legendlist = np.array(['Model1', 'Model2'])
r.legend("topleft", legend=legendlist, pch=shapes, col=colour_list,
cex=0.75)
r['dev.off']()
Martin
-- 
View this message in context: http://old.nabble.com/Taylor-diagram-tp30421393p30449840.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Yannick C. <yan...@la...> - 2010年12月27日 17:03:04
Hi,
mdekauwe wrote:
> 
> Has anyone ever managed to draw a taylor diagram in Matplotlib? For
> example like this
> 
> http://www.mathworks.com/matlabcentral/fx_files/20559/2/taylordiag_fig.jpg
> 
here is my try [ http://old.nabble.com/file/p30540085/taylorDiagram.py
taylorDiagram.py ] using matplotlib 1.0 (requires floating_axes). This is
heavily based on the 
http://matplotlib.sourceforge.net/examples/axes_grid/demo_floating_axes.html
floating_axes demo (which I find tricky).
I'm sure there're plenty of way to improve the TaylorDiagram class, but I'm
not familiar with all the bells and whistles of axes projections
(furthermore, I'm not sure Taylor diagrams are exactly what I need...). So
feel free to ellaborate!
Cheers,
Yannick
-- 
View this message in context: http://old.nabble.com/Taylor-diagram-tp30421393p30540085.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /