Re: Worldplot package
- To: mathgroup at smc.vnet.net
- Subject: [mg128907] Re: Worldplot package
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Mon, 3 Dec 2012 04:06:28 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121201093610.797AD6897@smc.vnet.net>
Color by population
data = SortBy[{#, CountryData[#, "Population"]} & /@
CountryData[],
Last] // Reverse;
colors2 = Blend[{Red, Blue}, #] & /@
Rescale[data[[All, 2]]];
data2 = Transpose[Append[Transpose[data], colors2]];
Graphics[{#[[3]], EdgeForm[{Gray, Thin}],
Tooltip[CountryData[#[[1]], "SchematicPolygon"],
#[[1 ;; 2]]]} & /@ data2,
PlotLabel -> Style["By Population", Bold, 14],
ImageSize -> 432]
The wide range in the population data provides little variation. This
can be offset by using population rankings rather than population.
Color by population rank:
rank3 = Range[Length[data]];
data3 = Transpose[Append[Transpose[data], rank3]];
colors3 = Blend[{Red, Blue}, #] & /@
(1. - Rescale[rank3]);
data3 = Transpose[Append[Transpose[data3], colors3]];
Graphics[{#[[4]], EdgeForm[{Gray, Thin}],
Tooltip[CountryData[#[[1]], "SchematicPolygon"],
#[[{1, 3, 2}]]]} & /@ data3,
PlotLabel -> Style["By Population Rank", Bold, 14],
ImageSize -> 432]
Color by population density
data4 = SortBy[{#, CountryData[#, "Population"]/
CountryData[#, "Area"]} & /@
CountryData[], Last] // Reverse;
colors5 = Blend[{Red, Blue}, #] & /@
Rescale[data4[[All, 2]]];
data5 = Transpose[Append[Transpose[data4], colors5]];
Graphics[{#[[3]], EdgeForm[{Gray, Thin}],
Tooltip[CountryData[#[[1]], "SchematicPolygon"],
#[[1 ;; 2]]]} & /@ data5,
PlotLabel -> Style["By Population Density", Bold, 14],
ImageSize -> 432]
The wide range in the population densities coupled with the fact that
the highest densities are in some of the smaller states provides
little contrast.
Most /@ Take[data5, 10]
Again, using rankings helps to provide additional contrast.
Color by population density rank
data6 = Transpose[Append[Transpose[data4], rank3]];
data7 = Transpose[Append[Transpose[data6], colors3]];
Graphics[{#[[4]], EdgeForm[{Gray, Thin}],
Tooltip[CountryData[#[[1]], "SchematicPolygon"],
#[[{1, 3, 2}]]]} & /@ data7,
PlotLabel ->
Style["By Population Density Rank", Bold, 14],
ImageSize -> 432]
Or instead of Blend you could use a color scheme in any of the above
colors8 = ColorData["TemperatureMap"][#] & /@
Rescale[rank3];
data8 = Transpose[Append[Transpose[data6], colors8]];
Graphics[{#[[4]], EdgeForm[{Gray, Thin}],
Tooltip[CountryData[#[[1]], "SchematicPolygon"],
#[[{1, 3, 2}]]]} & /@ data8,
PlotLabel ->
Style["By Population Density Rank", Bold, 14],
ImageSize -> 432]
Bob Hanlon
On Sat, Dec 1, 2012 at 4:36 AM, Andrea Costamagna
<andreacosta88 at alice.it> wrote:
> Hi, I have some problem with the use of worldplot.I need to load a txt
> file, the first column has the names of states, and the second column
> there are values. I have to color the global map, so that the colors are
> proportional to the values. For example, the highest value will be blue
> and the lower red, with all the gradations for the intermediate
> values=E2=80=8B=E2=80=8B.Thanks to all.
>
> Best regards
>
> Andrea Costamagna
>
>
>
- References:
- Worldplot package
- From: "Andrea Costamagna" <andreacosta88@alice.it>
- Worldplot package