Re: WorldPlot and excel data
- To: mathgroup at smc.vnet.net
- Subject: [mg89825] Re: WorldPlot and excel data
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sat, 21 Jun 2008 05:33:10 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <g3g006$kv4$1@smc.vnet.net> <485BA4C5.7070706@gmail.com>
Jean-Marc Gulliet wrote: > DBK wrote: > >> This should be simple but I'm stumped. I am just trying to read in >> country names (column 5) and associated colors (column 5). The color >> column is just a single column of Black, Black, White, Red etc. Below >> is my code and the error it generates. Any ideas what I am doing >> wrong? >> >> << WorldPlot` >> remotemap = Import["remote.xls"][[1]]; >> remotemap1 = remotemap[[All, 5]] >> remotemap2 = remotemap[[All, 4]] >> finalmap = WorldPlot[{remotemap1, remotemap2}] >> >> WorldPlot::badshades: WorldPlot shading \ >> {Black,Black,Black,Black,Black,Black,Black,Black,Black,Black,<<159>>} >> \ >> is not valid. Shading should consist of a list of Mathematica color \ >> primitives such as RGBColor or Hue, or of a function that generates \ >> such colors when applied to country names. > > > You should post a working example that can be evaluated by others and > that generates above mentioned error. (Your version of Mathematica might > help too.) > > The following works as expected on my system. > > << WorldPlot` > remotemap1 = {"Canada", "Mexico"}; > remotemap2 = {Orange, Black}; > finalmap = WorldPlot[{remotemap1, remotemap2}] > $Version > > [... nice orange and black graphic deleted ...] > > "6.0 for Mac OS X x86 (64-bit) (February 7, 2008)" Just an afterthought, but I believe that after importing from Excel, remontemap2 is a list of *strings*. On the other hand, WorldPlot expect a list of *symbols*. One can convert strings into symbols thanks to the function *ToExpression[]*. Since ToExpression[] is listable, you could write, remotemap2 = ToExpression[remotemap[[All, 4]]] For instance, the following code, << WorldPlot` remotemap1 = {"Canada", "Mexico"}; remotemap2 = ToExpression /@ {"Orange", "Black"}; finalmap = WorldPlot[{remotemap1, remotemap2}] works fine while this one returns the same error message as yours, << WorldPlot` remotemap1 = {"Canada", "Mexico"}; remotemap2 = {"Orange", "Black"}; finalmap = WorldPlot[{remotemap1, remotemap2}] HTH, -- Jean-Marc