



Thus if we want a circle to appear a factor of n bigger we would increase the area by a factor n not the radius so the apparent size scales linearly with the area.Įdit to visualize the comment by is what it looks like for different functions of the marker size: However it is the second example (where we are scaling area) that doubling area appears to make the circle twice as big to the eye. Similarly the second example each circle has area double the last one which gives an exponential with base 2. The question asked about doubling the width of a circle so in the first picture for each circle (as we move from left to right) it's width is double the previous one so for the area this is an exponential with base 4.
CHANGE MARKER SIZE SCATTER PLOT MATPLOTLIB SERIES
Now the apparent size of the markers increases roughly linearly in an intuitive fashion.Īs for the exact meaning of what a 'point' is, it is fairly arbitrary for plotting purposes, you can just scale all of your sizes by a constant until they look reasonable.Įdit: (In response to comment from probably confusing wording on my part. Similar to how adding colour to the plot adds another dimension, we can add another level of detail by changing the marker size of each data point based on another series of data. If instead we have # doubling the area of markers Notice how the size increases very quickly. To see this consider the following two examples and the output they produce. Because of the scaling of area as the square of width, doubling the width actually appears to increase the size by more than a factor 2 (in fact it increases it by a factor of 4). Points are often used in typography, where fonts are specified in. See markers for more information about marker styles. Defaults to None, in which case it takes the value of rcParams'scatter.marker' (default: 'o') 'o'. There is a reason, however, that the size of markers is defined in this way. So far the answer to what the size of a scatter marker means is given in units of points. marker can be either an instance of the class or the text shorthand for a particular marker. This means, to double the width (or height) of the marker you need to increase s by a factor of 4. This can be a somewhat confusing way of defining the size but you are basically specifying the area of the marker. Change Marker Size in Matplotlib Scatter Plot Let's start off by plotting the generosity score against the GDP per capita: import matplotlib.pyplot as plt import pandas as pd df pd.readcsv( 'worldHappiness2019.csv' ) fig, ax plt.subplots(figsize( 10, 6 )) ax.scatter(x df 'GDP per capita', y df 'Generosity' ) plt.xlabel( 'GDP per Capita' ) plt.ylabel( 'Generosity Score' ) plt.
