Suggestions on how to draw a concentric spheres plot? - python

Hi,
I am interested in drawing a figure, in R or python, resembling the attached image, where the largest sphere represents the total and each of the smaller spheres represent a certain percentage of the total?

Research in perception suggests that percentages of a whole are probably most effectively visualised with stacked bar charts - the cartesian counterpart of pie charts. If your data has a hierarchy as well, then I agree with neilsfw in using a treemap.

Related

How to detect fluctuations in point cloud height

I intercepted the point cloud in one direction and represented it within two-dimensional coordinates. As shown in the figure, it is the curve presented by the z-axis of the point cloud (y-axis in the figure) and the y-axis (x-axis in the figure).
I would like to detect fluctuations in the z-axis range, but I don't currently have a viable method in mind. Because, the number of peaks and valleys in it are uncertain and the fluctuations are also uncertain. I would like to plot my heights like this.
I tried to use clustering, but it was difficult. Is there a good way to do this please? Thanks!

Removing invisible points from a scatter plot (Manhattan plot)

Consider a Manhattan plot for a genome-wide association study. The density of dots at the bottom of the plot is very high -- individual points are no longer visible. I'd like to skip plotting the points that completely overlap with other points (even though their x,y is not identical) to reduce the plotting time and the size of the exported PDF. Any recipes for achieving this? Collision detection? Subsampling?
I'd like to use matplotlib, though this requirement is optional. Ideally, the output should be visually identical to the "full" plot.
Some background info on the plot type:
https://en.wikipedia.org/wiki/Manhattan_plot

Intersect several 2-d subplot in MatPlotlib

Familar with Matplotlib and Basemap, but I haven't noticed that some one has tried to plot intersected figure to visualize multi-dimension data.
Here is an practical scene: Satellite data now can capture the information of atmosphere in 3-d dimension which contain the spatial distribution in several vertical level.
The example figure here contain several subplots:
(1) Vertical profile of dust extinction coefficient from calipso satellite data. (2) The average profile for each slice of (1)
(3) The background figure represent the ground-level wind field of East Asia.
(4) Some purple streamline(look carefully) which pass through each slice represent the air mass trajectory.
The figure here represent essential information in one frame.
The Matplotlib and Basemap can help me to generate each subplot. Is there any useful tools or python package can organize all these elements into one.

Cross-section plotting with terrain as background

In Atmospheric Research, the cross-section plots are often used to represent the average meteorology vertical profiles.
Using Python, I can plot the cross-section figure based on netcdf file(Simulation result).
I use this post for reference
But how to represent the terrain in specific cutting line. Example like this:
I've used
plt.fill_between(axis, terrain, 0, facecolor='black')

Python Basemap: Plot coastlines but dont plot small features

I am using python basemap to draw the coastline around the United States the the Great Lakes. When I increase the resolution of the map drawn to 'i' for intermediate, it draws lots of small water features. Is there a way to only draw the coastlines around the oceans and great lakes, and not all small water features?
I have this...
But I want this... No small lakes, but want the coastline and states drawn at higher resolution.
Awh, figured it out...When creating the map you can specify the "area_thresh" so set that to a large number and it wont outline the small lakes. See Basemap documentation here.
m = Basemap(resolution='i',area_thresh=10000.,projection='lcc',\
lat_0=38.5,lon_0=-97.5,lat_1=38.5,\ lat_2=38.5,\
llcrnrlon=bot_left_lon,llcrnrlat=bot_left_lat,\
urcrnrlon=top_right_lon,urcrnrlat=top_right_lat,)

Categories