精华内容
下载资源
问答
  • python 画热力图

    2020-06-12 18:08:30
    serif'] = ['SimHei'] # 用来正常显示中文标签 pylab.mpl.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 def draw_heatmap(data, xlabels, ylabels): """ 画热力图函数 :param data: 数据,是一个二维...
    # encoding:utf-8
    import numpy as np
    import pandas as pd
    from matplotlib import pyplot as plt
    from matplotlib import cm
    from matplotlib import axes
    import pylab
    
    pylab.mpl.rcParams['font.sans-serif'] = ['SimHei']  # 防止中文乱码
    pylab.mpl.rcParams['axes.unicode_minus'] = False  # 防止中文乱码
    
    
    def draw_heatmap(data, xlabels, ylabels):
        cmap = cm.Blues
        figure = plt.figure(facecolor='w')
        ax = figure.add_subplot(2, 1, 1, position=[0.1, 0.15, 0.8, 0.8])
        ax.set_yticks(range(len(ylabels)))
        ax.set_yticklabels(ylabels)
        ax.set_xticks(range(len(xlabels)))
        ax.set_xticklabels(xlabels)
        vmax = data[0][0]
        vmin = data[0][0]
        for i in data:
            for j in i:
                if j > vmax:
                    vmax = j
                if j < vmin:
                    vmin = j
        map = ax.imshow(data, interpolation='nearest', cmap=cmap, aspect='auto', vmin=vmin, vmax=vmax)
        cb = plt.colorbar(mappable=map, cax=None, ax=None, shrink=0.5)
        plt.xticks(rotation=90)  # 将字体进行旋转
        plt.yticks(rotation=360)
        plt.show()
    
    
    dataFrame = pd.read_excel('E:\\GEO_DOC\\2020年6月份\\月\\allRes2.xlsx', sheet_name="allRes2", encoding='gbk')
    # 包含每个柱子对应值的序列
    val1 = dataFrame.head(11)[['mixedProportion','fromWin','toWin']]
    
    xlabels = ['x1','x2','x3']
    ylabels = ['y1', 'y2', 'y3']
    draw_heatmap(val1.values, xlabels, ylabels)

    # encoding:utf-8
    import numpy as np
    import pandas as pd
    from matplotlib import pyplot as plt
    from matplotlib import cm
    from matplotlib import axes
    import pylab
    
    pylab.mpl.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    pylab.mpl.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
    
    
    def draw_heatmap(data, xlabels, ylabels):
        """
        画热力图函数
        :param data: 数据,是一个二维数组
        :param xlabels: 横轴坐标名称
        :param ylabels: 纵轴坐标名称
        :return: null
        """
    
        figure = plt.figure()  # 画布特征,默认即可,可根据喜好调整
        ax = figure.add_subplot()  # 添加一个子画布
        ax.set_xticks(range(len(xlabels)))  # 横坐标长度
        ax.set_xticklabels(xlabels)  # 横坐标标签
        ax.set_yticks(range(len(ylabels)))  # 纵坐标长度
        ax.set_yticklabels(ylabels)  # 纵坐标标签
    
        vmax = data[0][0]
        vmin = data[0][0]
    
        #  获取二维数组中的 最大和最小两个值
        for i in data:  # 遍历二维数组,每次i获取到的是一维数组
            for j in i:  # 遍历一维数组,每次获取到的是一个数字
                if j > vmax:
                    vmax = j
                if j < vmin:
                    vmin = j
    
        cmap = cm.Reds  # 图像的颜色
        # interpolation 用来控制显示,参考https://matplotlib.org/gallery/images_contours_and_fields/interpolation_methods.html?highlight=interpolation
        map = ax.imshow(data, interpolation='nearest', cmap=cmap, aspect='auto', vmin=vmin, vmax=vmax)
        plt.colorbar(mappable=map, cax=None, ax=None, shrink=0.5)  # 添加右侧的色带
        plt.xticks(rotation=90)  # 横轴将字体进行旋转 90 度
        plt.yticks(rotation=360)  # 纵轴将字体进行旋转 0 度
        plt.show()  # 显示图像
    
    def get_labels(num,label):
        '''
        获取一个数组
        :param num: 数量
        :param label: 标签前缀
        :return: 数组
        '''
        arr = []
        for i in range(0, num):
            arr.append(label + str(i))
        return arr
    
    # main 函数,程序的入口
    if __name__ == '__main__':
        # 从Excel 中读取数据
        dataFrame = pd.read_excel('E:\\GEO_DOC\\2020年6月份\\月\\allRes2.xlsx', sheet_name="allRes2", encoding='gbk')
        # 从 dataFrame 中提取三行数据,列为mixedProportion,fromWin,toWin
        # 根据需求提取数据
        val1 = dataFrame.head(10)[['mixedProportion', 'fromWin', 'toWin']]
    
        # 坐标轴坐标名称,要和数据对的上哈
        xlabels = get_labels(val1.shape[1], "x")  # shape 输出数组的行和列数
        ylabels = get_labels(val1.shape[0], "y")
        # 执行画热泪图的函数
        draw_heatmap(val1.values, xlabels, ylabels)
    

     

    展开全文
  • 今日分享热力图#导入库importseabornassnsimportpandasaspdimportnumpyasnpimportmatplotlib.pyplotasplt#生成数据集data=np.random.random((6,6))np.fill_diagonal(data,np.ones(6))features=["prop1","pro...

    今日分享

    热力图

    # 导入库
    import seaborn as sns
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt

    # 生成数据集
    data = np.random.random((6,6))
    np.fill_diagonal(data,np.ones(6))
    features = ["prop1","prop2","prop3","prop4","prop5""prop6"]
    data = pd.DataFrame(data, index = features, columns=features)
    print(data)

    # 绘制热力图
    heatmap_plot = sns.heatmap(data, center=0, cmap='gist_rainbow')
    plt.show()

    生成的数据

    8ff417827e43ebdeccf26d166db52d41.png

    热力图

    f171fd4e349bc20867256cca9f1e185e.png

    告别枯燥,60秒学会一个例子。Python基础、Web开发、数据科学、机器学习的精简小例子都在这里。

    https://github.com/jackzhenguo/python-small-examples

    或点击文章最底部的【

    更多例子:

    1. 求字符串的字节长度

    2. Python自动群发邮件,只需20行代码!

    3. 不用if、else实现一个微型计算器

    4. 绘制词频云图

    5. 求多列表中最大值

    6. 生成器版:斐波那契数列前n项

    7. 斐波那契数列前n项

    8. 求字典最大键值对

    9. 将list等分为几组

    10. 一行代码 合并两个字典

    11. 4种不同颜色的色块

    12. 绘制奥运五环图

    13. 嵌套数组完全展开

    14. 4行代码打印乘法表

    15. 5行代码 判断密码是否安全

    16. 二分搜索Python实现

    17. Python找出两个文件的不同之处

    18. 4个生成数组的常用函数

    19. Python批量修改文件后缀

    20. 7个Python特殊技巧

    f4eb53c5b2410bb39de5c107fee35441.png

    Python小例子,长按关注

    展开全文
  • 今日分享热力图#导入库importseabornassnsimportpandasaspdimportnumpyasnpimportmatplotlib.pyplotasplt#生成数据集data=np.random.random((6,6))np.fill_diagonal(data,np.ones(6))features=["prop1","pro...

    今日分享

    热力图

    # 导入库
    import seaborn as sns
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt

    # 生成数据集
    data = np.random.random((6,6))
    np.fill_diagonal(data,np.ones(6))
    features = ["prop1","prop2","prop3","prop4","prop5""prop6"]
    data = pd.DataFrame(data, index = features, columns=features)
    print(data)

    # 绘制热力图
    heatmap_plot = sns.heatmap(data, center=0, cmap='gist_rainbow')
    plt.show()

    生成的数据

    18282ffe0e0f588a4a60ed84f1c5ef42.png

    热力图

    84fd69abf55bbc71bab6c0eb5a26afda.png

    告别枯燥,60秒学会一个例子。Python基础、Web开发、数据科学、机器学习的精简小例子都在这里。

    https://github.com/jackzhenguo/python-small-examples

    或点击文章最底部的【

    更多例子:

    1. 求字符串的字节长度

    2. Python自动群发邮件,只需20行代码!

    3. 不用if、else实现一个微型计算器

    4. 绘制词频云图

    5. 求多列表中最大值

    6. 生成器版:斐波那契数列前n项

    7. 斐波那契数列前n项

    8. 求字典最大键值对

    9. 将list等分为几组

    10. 一行代码 合并两个字典

    11. 4种不同颜色的色块

    12. 绘制奥运五环图

    13. 嵌套数组完全展开

    14. 4行代码打印乘法表

    15. 5行代码 判断密码是否安全

    16. 二分搜索Python实现

    17. Python找出两个文件的不同之处

    18. 4个生成数组的常用函数

    19. Python批量修改文件后缀

    20. 7个Python特殊技巧

    a19fd6ed79082b93f015be42950131dc.png

    Python小例子,长按关注

    展开全文
  • python画热力图(相关系数矩阵图)

    万次阅读 多人点赞 2018-05-08 16:40:00
    使用热力图的形式展示包括相关系数矩阵图的二维矩阵的方法,目前发现有两个:首先是使用pandas包的函数,但是pandas包的目测,不能显示数字?如果想试一下,可以参考https://zhuanlan.zhihu.com/p/26100511所以研究...

    使用热力图的形式展示包括相关系数矩阵图的二维矩阵的方法,目前发现有两个:

    首先是使用pandas包的函数,但是pandas包的目测,不能显示数字?

    如果想试一下,可以参考https://zhuanlan.zhihu.com/p/26100511

    所以研究了一下第二种方法,就是用seaborn包画。

    参考了

    https://blog.csdn.net/a19990412/article/details/79304944

     https://blog.csdn.net/sunchengquan/article/details/78573244

    https://blog.csdn.net/weixin_39541558/article/details/79813936

    等等文章,下面sns.heatmap中的各个参数可以参考第一个链接里面的文章。也可以sns.heatmap?查询。

    下面sns.heatmap中,annot是表示我们要显示array中的数字,因为要显示数字,所以就round了一下,如果要表示相关矩阵图,建议乘以10,round一下,那样就得到-10到10之间的数字,比较好看。可以设置array中的数字的最大最小值,也可以采用center=0的设置,取决于自己对array中的数字的理解吧。如果需要显示xticklabels和yticklabels,那需要将参数设置成True。square的意思就是一个个cell是方块,不然是矩阵,然后最后是cmap是图的颜色。可以采用下面的那个,还有"Blues"等。还可以设置分割哪些cell的线的宽度等,可以通过sns.heatmap?查询。

    import seaborn as sns
    import numpy as np
    import pandas as pd
    a = np.random.rand(4,3)
    fig, ax = plt.subplots(figsize = (9,9))
    #二维的数组的热力图,横轴和数轴的ticklabels要加上去的话,既可以通过将array转换成有column
    #和index的DataFrame直接绘图生成,也可以后续再加上去。后面加上去的话,更灵活,包括可设置labels大小方向等。
    sns.heatmap(pd.DataFrame(np.round(a,2), columns = ['a', 'b', 'c'], index = range(1,5)), 
                    annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, square=True, cmap="YlGnBu")
    #sns.heatmap(np.round(a,2), annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, 
    #            square=True, cmap="YlGnBu")
    ax.set_title('二维数组热力图', fontsize = 18)
    ax.set_ylabel('数字', fontsize = 18)
    ax.set_xlabel('字母', fontsize = 18) #横变成y轴,跟矩阵原始的布局情况是一样的


    ax.set_yticklabels(['一', '二', '三'], fontsize = 18, rotation = 360, horizontalalignment='right')
    ax.set_xticklabels(['a', 'b', 'c'], fontsize = 18, horizontalalignment='right')

    文章发布以后不能再修改了,真是很讨厌。

    展开全文
  • 使用python画热力图

    千次阅读 2019-07-10 23:43:06
    import seaborn as sns import numpy as np import matplotlib.pyplot as plt import random np.random.seed(1) data = np.random.rand(16, 16) sns.set() ax = sns.heatmap(data, center=0) ...
  • 55、python画热力图

    2020-03-12 16:11:52
    ChinaMap.add_child(site_candicate_point) site_candicate_heat_point = folium.FeatureGroup(name="热力图", show=True) site_candicate_heat_point.add_child(HeatMap(data_heat)) ChinaMap.add_child(site_...
  • 相关系数热力图 JASP相关分析菜单除了能帮我们提供干脆利落的相关系数矩阵外,它还基于R语言提供一枚高度可视化的统计图形。 它就是大名鼎鼎基于相关系数的热力图,在【plot】选项中勾选【heatmap】即可。 淡蓝色块...
  • 先上效果上海市2010年第六次全国人口普查全国人口普查10年一次,不要问我为什么不找2017年,我也没办法,摊手~思路申请使用百度地图API密钥数据准备分析数据把地区改编成经纬度画图1. 申请使用百度地图API密钥...
  • plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor") # 添加每个热力块的具体数值 # Loop over data dimensions and create text annotations. for i in range(len(vegetables)): ...
  • plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor") # 添加每个热力块的具体数值 # Loop over data dimensions and create text annotations. for i in range(len(vegetables)): ...
  • plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor") # 添加每个热力块的具体数值 # Loop over data dimensions and create text annotations. for i in range(len(vegetables)): ...
  • 图片上线条import sysfrom PIL import Image,ImageDrawim = Image.open("th.png")draw = ImageDraw.Draw(im) #实例化一个对象draw.line((0, 0) + im.size, fill=128, width=5) #线的起点和终点,线宽draw.line((0,...
  • 我之前没热力图,所以也没给出什么建设性的意见。这两天研究了一下,大概能出来。写个例子在这里,希望对这位同学能有帮助我先写了个简单的csv文件,文件名为:thermodynamic_data.csv,用来作为数据源:‍...
  • 0 前言鉴于Matlab画图已经被封,自此画图战线全部转移到Python上来,这篇博客描述了Python画热力图的方法以及我踩到的坑。1 程序1.1 导入包这里使用seaborn的heatmap函数绘制import matplotlib.pyplot as pltimport ...
  • python seaborn画热力图,自定义颜色渐变 默认的颜色,,实在是有点不好看 所以先附上改了以后的效果图 方法是使用 LinearSegmentedColormap 自定义颜色渐变 from matplotlib.colors import ...
  • 利用python画热力地图

    千次阅读 2018-01-29 14:12:04
    HeatMap(data1).add_to(map_osm) # 将热力图添加到前面建立的map里 file_path = r"heatmap9.html" map_osm.save(file_path) # 保存为html文件 webbrowser.open(file_path) # 默认浏览器打开    
  • 往期回顾前言新讲开始啦~今天我们带给大家带来的是关于如何绘制填充表格热力图的知识点,先给大家看一下效果图。从效果图里我们可以发现,所谓的填充表格热力图就是将原本为数字表(数组)的单元格以颜色来填充,颜色...
  • import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('D:\\myfiles\\study\\python\\analyse\\数据团\\城市数据团_数据分析师_体验课_课程资料\\数据资料\\地市级党委书记...
  • 1.数据来源于excel,是一个7*5的矩阵 首先导入相应的包,读取excel import os import matplotlib.pyplot as plt ...2 对应的横纵坐标,组成list;表中的数字为datafram形式,转换成二维数组 #纵坐
  • 鉴于Matlab画图已经被封,自此画图战线全部转移到Python上来,这篇博客描述了Python画热力图的方法以及我踩到的坑。 1 程序 1.1 导入包 这里使用seaborn的heatmap函数绘制 import matplotlib.pyplot as plt import ...
  • 很多人对画热力图的方法不是很清楚,我们可以先装好相关的工具,了解一些使用参数,然后在实例中进行画热力图的实例体验,下面就来看看具体的方法吧。1.导入相关的packagesimport seaborn as sns%matplotlib ...
  • python-sns.heatmap画热力图参数详解

    万次阅读 2019-03-01 21:50:31
    python-sns.heatmap画热力图参数详解
  • 这里就用百度地图API来画热力图。2.过程1.获取ak在百度地图开放平台上,注册,创建应用获得自己的ak。2.地图API示例在地图API示例中,找到热力图示例,能看到示例HTML,需要修改的就是里面的ak和变量points的数据。...
  • import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ...plt.rcParams['figure.figsize'] = (8.0, 4.0) # 设置大小 sns.set(style="darkgrid") file = ...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 184
精华内容 73
关键字:

python画热力图

python 订阅