【问题标题】:Seaborn heatmap is combining multiple labels as xticksSeaborn 热图将多个标签组合为 xticks
【发布时间】:2019-10-30 11:20:35
【问题描述】:

我正在尝试绘制一张热图,显示十年内不同的数据泄露原因以及受影响的个人数量。热图显示没有错误。但是,xick 是通过结合年份和受影响的个人标签来标记的。

causes_of_breaches_by_year = pd.DataFrame(
  df.groupby([
    'Breach Submission Year',
    'Type of Breach'])[['Individuals Affected']]
  .count())
  .reset_index()

causes_of_breaches_by_year['Individuals Affected'] =
    causes_of_breaches_by_year['Individuals Affected']
    .fillna(0)
    .astype(np.int64)

data_breaches_per_year_heatmap = causes_of_breaches_by_year.pivot(
    'Type of Breach',
    'Breach Submission Year'
  )

sns.heatmap(
    annot=True,
    cmap="YlGnBu",
    cbar_kws={'label': 'Individuals Affected'},
    data=data_breaches_per_year_heatmap
  )
  .set_title('Cause of Data Breach by Year')

【问题讨论】:

标签: python pandas seaborn pandas-groupby


【解决方案1】:

简答

旋转时,您必须提供 3 个参数。见pandas.DataFrame.pivot

DataFrame.pivot(index=None, columns=None, values=None)[source]

或者在你的情况下

piv = df.pivot(index='Type of Breach',
               columns='Breach Submission Year',
               values='Individuals Affected'
               )

示例

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

sns.set()

df = pd.DataFrame({
    'Breach Submission Year': ['2018', '2018', '2018', '2019', '2019', '2019'],
    'Type of Breach': ['A', 'B', 'C', 'A', 'B', 'C'],
    'Individuals Affected': [1, 2, 6, 2, 5, 6]
})

piv = df.pivot('Type of Breach', 'Breach Submission Year',
               'Individuals Affected')
piv = df.pivot(index='Type of Breach',
               columns='Breach Submission Year',
               values='Individuals Affected'
               )

sns.heatmap(
    annot=True,
    cmap="YlGnBu",
    cbar_kws={'label': 'Individuals Affected'},
    data=piv
).set_title('Cause of Data Breach by Year')

plt.show()

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 2018-11-18
    • 2016-03-29
    • 1970-01-01
    • 2021-07-24
    • 2017-04-05
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    相关资源
    最近更新 更多