Python数据可视化(十一):气泡图绘制

使用matplotlib包绘制气泡图

# libraries
import matplotlib.pyplot as plt
import numpy as np

# create data
x = np.random.rand(40)
y = np.random.rand(40)
z = np.random.rand(40)
# use the scatter function
# 绘制基础气泡图
# s=z*1000参数设置气泡的大小
plt.scatter(x, y, s=z*1000, alpha=0.5)

# show the graph
plt.show()
image.png
# Change color with c and alpha
# 设置c="red"参数更改气泡的颜色
plt.scatter(x, y, s=z*4000, c="red", alpha=0.4)

# show the graph
plt.show()
image.png
# Change shape with marker
# 设置marker="D"参数更改气泡的形状
plt.scatter(x, y, s=z*4000, marker="D")

# show the graph
plt.show()
image.png
# Change line around dot
# 设置linewidth=6参数更改气泡的边框大小
plt.scatter(x, y, s=z*4000, c="green", alpha=0.4, linewidth=6)

# show the graph
plt.show()
image.png
# Change color with c and transparency with alpha. 
# I map the color to the X axis value.
plt.scatter(x, y, s=z*2000, c=x, cmap="Accent", alpha=0.4, edgecolors="grey", linewidth=2)

# Add titles (main and on axis)
# 添加坐标轴和标题信息
plt.xlabel("the X axis")
plt.ylabel("the Y axis")
plt.title("A colored bubble plot")

# Show the graph
plt.show()
image.png

使用seaborn包绘制气泡图

# libraries
import matplotlib.pyplot as plt
import seaborn as sns
from gapminder import gapminder # import data set 

# Control figure size for this notebook:
plt.rcParams['figure.figsize'] = [8, 8]

# data 
data = gapminder.loc[gapminder.year == 2007]
data.head()
country continent year lifeExp pop gdpPercap
11 Afghanistan Asia 2007 43.828 31889923 974.580338
23 Albania Europe 2007 76.423 3600523 5937.029526
35 Algeria Africa 2007 72.301 33333216 6223.367465
47 Angola Africa 2007 42.731 12420476 4797.231267
59 Argentina Americas 2007 75.320 40301927 12779.379640
# use the scatterplot function to build the bubble map
sns.scatterplot(data=data, x="gdpPercap", y="lifeExp", size="pop", legend=False)

# show the graph
plt.show()
image.png
# use the scatterplot function
# 设置sizes=(20, 800)参数控制气泡大小的范围
sns.scatterplot(data=data, x="gdpPercap", y="lifeExp", size="pop", alpha=0.5, sizes=(20, 800))

# show the graph
plt.show()
image.png
# use the scatterplot function
# 设置hue="continent"参数控制分组颜色
sns.scatterplot(data=data, x="gdpPercap", y="lifeExp", size="pop", hue="continent", alpha=0.5, sizes=(20, 400))

# show the graph
plt.show()
image.png
# set seaborn "whitegrid" theme
sns.set_style("darkgrid")

# use the scatterplot function
sns.scatterplot(data=data, x="gdpPercap", y="lifeExp", size="pop", 
                hue="continent", palette="viridis", 
                edgecolors="black", alpha=0.5, sizes=(10, 1000))

# Add titles (main and on axis)
plt.xlabel("Gdp per Capita")
plt.ylabel("Life Expectancy")

# Locate the legend outside of the plot
# plt.legend(bbox_to_anchor=(1, 1), loc='upper left', fontsize=17)

# show the graph
plt.show()
image.png

参考来源:https://www.python-graph-gallery.com/bubble-plot/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容