【附代码】python绘图集锦共7篇内容,本文为分布(Distribution)关系图。
连续变量堆积直方图(Stacked Histogram for Continuous Variable)
类别变量堆积直方图(Stacked Histogram for Categorical Variable)
密度图(Density Plot)
带直方图的密度图(Density Curves with Histogram)
山峰叠峦图(Joy Plot)
分布点图(Distributed Dot Plot)
箱图(boxplot)
箱图结合点图(Dot + Box Plot)
小提琴图(Violin Plot)
金字塔图(Population Pyramid)
11. 分类图(Categorical Plots)
1.连续变量堆积直方图(Stacked Histogram for Continuous Variable)
该图展示给定连续变量的频率分布。
# Import Data
df = pd.read_csv("./datasets/mpg_ggplot2.csv")
# Prepare data
x_var = 'displ'
groupby_var = 'class'
df_agg = df.loc[:, [x_var, groupby_var]].groupby(groupby_var)
vals = [df[x_var].values.tolist() for i, df in df_agg]
# Draw
plt.figure(figsize=(10, 6), dpi=80)
colors = [plt.cm.Set1(i / float(len(vals) - 1)) for i in range(len(vals))]
n, bins, patches = plt.hist(vals,
30,
stacked=True,
density=False,
color=colors[:len(vals)])
# Decoration
plt.legend({
group: col
for group, col in zip(
np.unique(df[groupby_var]).tolist(), colors[:len(vals)])
})
plt.title(f"Stacked Histogram of ${x_var}$ colored by ${groupby_var}$",
fontsize=22)
plt.xlabel(x_var)
plt.ylabel("Frequency")
#plt.ylim(0, 25)
plt.xticks(ticks=bins[::3], labels=[round(b, 1) for b in bins[::3]])
plt.show()
2.类别变量堆积直方图(Stacked Histogram for Categorical Variable)
该图展示给定类别变量的频率分布。
# Import Data
df = pd.read_csv("./datasets/mpg_ggplot2.csv")
# Prepare data
x_var = 'manufacturer'
groupby_var =