Matplotlib实例教程边缘直方图

Posted K同学啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib实例教程边缘直方图相关的知识,希望对你有一定的参考价值。

前言

你可能需要安装的包

  • statsmodels
  • seaborn

安装命令(在cmd中输入该命令即可)

  • pip install seaborn
  • pip install statsmodels

如果你不知道如何打开命令行,请看这里:如何打开CMD命令行

边缘直方图具有沿X和Y轴变量的直方图。 这用于可视化X和Y之间的关系以及单独的X和Y的单变量分布。 该图如果经常用于探索性数据分析(exploratory data analysis,EDA)。

代码实现

import pandas as pd
import seaborn as sns
sns.set_style("white")

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

import warnings
warnings.filterwarnings("ignore")#忽略警告信息

df = pd.read_csv("data.csv")
# 查看一下我们的数据
df.head()
manufacturermodeldisplyearcyltransdrvctyhwyflclass
0audia41.819994auto(l5)f1829pcompact
1audia41.819994manual(m5)f2129pcompact
2audia42.020084manual(m6)f2031pcompact
3audia42.020084auto(av)f2130pcompact
4audia42.819996auto(l5)f1626pcompact
# 长12英寸 宽10英寸,该窗口的分辨率为80
fig = plt.figure(figsize=(12, 10), dpi= 80)
grid = plt.GridSpec(4, 4, hspace=0.5, wspace=0.2)

# 定义坐标轴
ax_main   = fig.add_subplot(grid[:-1, :-1])
ax_right  = fig.add_subplot(grid[:-1, -1], xticklabels=[], yticklabels=[])
ax_bottom = fig.add_subplot(grid[-1, 0:-1], xticklabels=[], yticklabels=[])

# 设置主轴上的散点图
ax_main.scatter('displ', 'hwy', s=df.cty*4, c=df.manufacturer.astype('category').cat.codes, alpha=.9, data=df, cmap="tab10", edgecolors='gray', linewidths=.5)

# 设置右侧上的直方图
ax_bottom.hist(df.displ, 40, histtype='stepfilled', orientation='vertical', color='deeppink')
ax_bottom.invert_yaxis()

# 设置底部的直方图
ax_right.hist(df.hwy, 40, histtype='stepfilled', orientation='horizontal', color='deeppink')

ax_main.set(title='带有直方图的散点图(边缘直方图)', xlabel='数据A', ylabel='数据B')
ax_main.title.set_fontsize(20)
for item in ([ax_main.xaxis.label, ax_main.yaxis.label] + ax_main.get_xticklabels() + ax_main.get_yticklabels()):
    item.set_fontsize(14)

xlabels = ax_main.get_xticks().tolist()
ax_main.set_xticklabels(xlabels)
plt.show()

👇🏻 扫一扫下方二维码,获取7900+本电子书👇🏻

以上是关于Matplotlib实例教程边缘直方图的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib实例教程直方图

Matplotlib实例教程(十六)3D直方图

Matplotlib实例教程(十六)3D直方图

国外大神制作的一个很棒的matplotlib 可视化教程

Matplotlib实例教程直方密度线图

Matplotlib:绘制具有非透明边缘的透明直方图