【基础】学习笔记55-Python3 matplotlib绘图-热力图4

热力图4

运行结果为:


代码如下:

# 热力图:seaborn

import matplotlib.pyplot as plt

import seaborn as sns

import numpy as np

import pandas as pd

plt.rcParams['font.sans-serif'] = ['KaiTI']

region = ['Albania', 'Algeria', 'Angola', 'Argentina', 'Armenia',

          'Azerbaijan', 'Bahamas', 'Bangladesh', 'Belize', 'Bhutan',

          'Bolivia', 'Bosnia and Herzegovina', 'Brazil', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Cape Verde', 'Chile',

          'China', 'Colombia', 'Costa Rica', 'Cote d Ivoire', 'Cuba',

          'Cyprus', "Democratic People's Republic of Korea",

          'Democratic Republic of the Congo', 'Dominican Republic', 'Ecuador',

          'Egypt', 'El Salvador', 'Equatorial Guinea', 'Ethiopia', 'Fiji',

          'Gambia', 'Georgia', 'Ghana', 'Guatemala', 'Guyana', 'Honduras']  # 40

kind = ['Afforestation & reforestation', 'Biofuels', 'Biogas',

        'Biomass', 'Cement', 'Energy efficiency', 'Fuel switch',

        'HFC reduction/avoidance', 'Hydro power',

        'Leak reduction', 'Material use', 'Methane avoidance',

        'N2O decomposition', 'Other renewable energies',

        'PFC reduction and substitution', 'PV',

        'SF6 replacement', 'Transportation', 'Waste gas/heat utilization',

        'Wind power']  # 20

np.random.seed(100)

arr_region = np.random.choice(region, size=(10000,))

list_region = list(arr_region)

arr_kind = np.random.choice(kind, size=(10000,))

list_kind = list(arr_kind)

values = np.random.randint(50, 1000, 10000)

list_values = list(values)

df = pd.DataFrame({'region': list_region,

                  'kind': list_kind,

                  'values': list_values})

pt = df.pivot_table(index='kind', columns='region',

                    values='values', aggfunc=np.sum)

df.head()

f, ax = plt.subplots(figsize=(10, 6))

cmap = sns.cubehelix_palette(start=1, rot=3, gamma=0.8, as_cmap=True)  # 设置颜色

sns.heatmap(pt, cmap=cmap, linewidths=0.5, ax=ax)

ax.set_title('Amounts per kind and region')

ax.set_xlabel('region')

ax.set_ylabel('kind')

plt.show()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容