精华内容
下载资源
问答
  • python画气泡图(4个象限)
    千次阅读
    2020-06-15 15:10:47

    用python画气泡图,气泡分布在4个象限(也可以作为象限图,只是更多一个气泡大小的维度)

    看一下气泡图的示例:
    在这里插入图片描述
    图里有三个维度的数据:基础业务同比(横轴)、创新业务同比(纵轴),收入规模值(气泡大小)

    直接附代码,重要步骤的注释都标在代码中了

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    import xlrd
    
    dataFile=xlrd.open_workbook('E:\python\city-bubble.xlsx')
    cityBubble=pd.read_excel(dataFile)
    print(cityBubble)
    
    city=cityBubble['市州'].tolist()
    yearCom=cityBubble['创新业务同比'].tolist()
    monthCom=cityBubble['基础业务同比'].tolist()
    income=cityBubble['整体收入'].tolist()
    
    '''dataframe需要转化成list
    city=pd.DataFrame(cityBubble,columns=['市州'])
    yearCom=pd.DataFrame(cityBubble,columns=['同比'])
    monthCom=pd.DataFrame(cityBubble,columns=['环比'])
    income=pd.DataFrame(cityBubble,columns=['整体收入同比']
    '''
    
    # 这两行代码解决 plt 中文显示的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    
    
    colors = np.random.rand(len(income))  # 颜色数组
    
    plt.scatter(yearCom, monthCom, c=colors,s=3*np.sqrt(income), alpha=0.6)  # 画散点图, alpha=0.6 表示不透明度为 0.6 这里我的income值有点大,导致气泡重叠较多,我取了一个平方根np.sqrt(income),为了缩小气泡
    
    
    plt.text(np.max(yearCom)+0.05,np.mean(monthCom),'基础业务同比',fontsize=14)
    plt.text(np.mean(yearCom),np.max(monthCom)+0.05,'创新业务同比',fontsize=14)
    ax=plt.gca()
    ax.spines['right'].set_color('none') #只保留一条纵坐标轴,形成象限图
    ax.spines['top'].set_color('none')
    #ax.xaxis.set_ticks_position('bottom')
    #ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data',np.mean(yearCom)))
    ax.spines['bottom'].set_position(('data',np.mean(monthCom)))
    for i in range(len(city)):#为每个气泡做标注
        plt.annotate(city[i],xy=(yearCom[i],monthCom[i]),xytext=(yearCom[i]+0.005,monthCom[i]+0.005))
    plt.show()
    
    更多相关内容
  • Python画气泡图

    千次阅读 2020-07-19 18:29:46
    from matplotlib import pyplot as plt import numpy as np my_dpi=96 plt.figure(figsize=(480/my_dpi, 480/my_dpi)... 本文来自:https://github.com/holtzy/The-Python-Graph-Gallery/blob/master/PGG_notebook.py 
    from matplotlib import pyplot as plt
    import numpy as np
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(15)
    y = x+np.random.rand(15)
    z = x+np.random.rand(15)
    z=z*z
    plt.scatter(x, y, s=z*2000, c=x, cmap="BuPu", alpha=0.4, edgecolors="grey", linewidth=2)
    plt.show()

    from matplotlib import pyplot as plt
    import numpy as np
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(15)
    y = x+np.random.rand(15)
    z = x+np.random.rand(15)
    z=z*z
    plt.scatter(x, y, s=z*2000, c=x, cmap="plasma", alpha=0.4, edgecolors="grey", linewidth=2)
    plt.show()

     

    from matplotlib import pyplot as plt
    import numpy as np
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(80) - 0.5
    y = x+np.random.rand(80)
    z = x+np.random.rand(80)
    
    plt.scatter(x, y, s=z*2000, c=x, cmap="PuOr_r", alpha=0.4, edgecolors="grey", linewidth=2)
    plt.show()

     

    from matplotlib import pyplot as plt
    import numpy as np
    import pandas as pd
    import seaborn as sns
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    df = sns.load_dataset('iris')
    
    df['species']=pd.Categorical(df['species'])
    df['species'].cat.codes
    
    plt.scatter(df['sepal_length'], df['sepal_width'], s=62, c=df['species'].cat.codes, cmap="Set1", alpha=0.9, linewidth=0)
    plt.show()

     

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    
    df=pd.DataFrame({'x': range(1,11), 'y1': np.random.randn(10), 'y2': np.random.randn(10)+range(1,11), 'y3': np.random.randn(10)+range(11,21), 'y4': np.random.randn(10)+range(6,16), 'y5': np.random.randn(10)+range(4,14), 'y6': np.random.randn(10)+range(2,12), 'y7': np.random.randn(10)+range(5,15), 'y8': np.random.randn(10)+range(4,14) })
    
    possibilities = [u'seaborn-darkgrid', u'seaborn-notebook', u'classic', u'seaborn-ticks', u'grayscale', u'bmh', u'seaborn-talk', u'dark_background', u'ggplot', u'fivethirtyeight', u'_classic_test', u'seaborn-colorblind', u'seaborn-deep', u'seaborn-whitegrid', u'seaborn-bright', u'seaborn-poster', u'seaborn-muted', u'seaborn-paper', u'seaborn-white', u'seaborn-pastel', u'seaborn-dark', u'seaborn', u'seaborn-dark-palette']
    
    my_dpi=96
    plt.figure(figsize=(1000/my_dpi, 1000/my_dpi), dpi=my_dpi)
    
    for n, v in enumerate(possibilities):
        plt.subplot(5 ,5, n + 1)
        
        for column in df.drop('x', axis=1):  
            plt.plot(df['x'], df[column], marker='', color='grey', linewidth=1, alpha=0.4)
        
        plt.plot(df['x'], df['y5'], marker='', color='orange', linewidth=4)
        
        plt.title(v, fontsize=10, fontweight=0, color='grey', loc='left')
        
        plt.tick_params(labelbottom='off')
        plt.tick_params(labelleft='off')
    
    plt.show()

     

    本博主新开公众号, 希望大家能扫码关注一下,十分感谢大家。

     

    本文来自:https://github.com/holtzy/The-Python-Graph-Gallery/blob/master/PGG_notebook.py 

    展开全文
  • Python画气泡图Bubble

    千次阅读 2020-07-23 20:14:00
    import matplotlib.pyplot as plt import numpy as np my_dpi=96 plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi... 本文来自:https://github.com/holtzy/The-Python-Graph-Gallery/blob/master/PGG_notebook.py 
    import matplotlib.pyplot as plt
    import numpy as np
     
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(40)
    y = np.random.rand(40)
    z = np.random.rand(40)
     
    plt.scatter(x, y, s=z*1000, alpha=0.5)
    plt.show()

    import matplotlib.pyplot as plt
    import numpy as np
    
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(5)
    y = np.random.rand(5)
    z = np.random.rand(5)
    
    plt.scatter(x, y, s=z*4000, c="red", alpha=0.4)
    plt.show()

     

    import matplotlib.pyplot as plt
    import numpy as np
    
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(5)
    y = np.random.rand(5)
    z = np.random.rand(5)
    
    plt.scatter(x, y, s=z*4000, marker="D")
    plt.show()

     

    import matplotlib.pyplot as plt
    import numpy as np
    
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(5)
    y = np.random.rand(5)
    z = np.random.rand(5)
    
    plt.scatter(x, y, s=z*200)
    plt.show()

     

     

    import matplotlib.pyplot as plt
    import numpy as np
    
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(5)
    y = np.random.rand(5)
    z = np.random.rand(5)
    
    plt.scatter(x, y, s=z*4000, c="green", alpha=0.4, linewidth=6)
    plt.show()

     

    import matplotlib.pyplot as plt
    import numpy as np
    import seaborn as sns
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(5)
    y = np.random.rand(5)
    z = np.random.rand(5)
    
    plt.scatter(x, y, s=z*4000, c="green", alpha=0.4, linewidth=6)
    
    plt.xlabel("the X axis")
    plt.ylabel("the Y axis")
    plt.title("A bubble plot", loc="left")
    plt.show()

     

    import matplotlib.pyplot as plt
    import numpy as np
    import seaborn as sns
    
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(15)
    y = x+np.random.rand(15)
    z = x+np.random.rand(15)
    z=z*z
    
    plt.scatter(x, y, s=z*2000, c=x, cmap="Blues", alpha=0.4, edgecolors="grey", linewidth=2)
    
    plt.xlabel("the X axis")
    plt.ylabel("the Y axis")
    plt.title("A colored bubble plot")
    
    plt.show()

     

    import matplotlib.pyplot as plt
    import numpy as np
    
    my_dpi=96
    plt.figure(figsize=(480/my_dpi, 480/my_dpi), dpi=my_dpi)
    
    x = np.random.rand(15)
    y = x+np.random.rand(15)
    z = x+np.random.rand(15)
    text=[chr(i) for i in range(ord('a'),ord('o')+1)]
    z=z*z
    
    plt.scatter(x, y, s=z*2000, c=x, cmap="Blues", alpha=0.4, edgecolors="grey", linewidth=2)
    
    for i, txt in enumerate(text):
      plt.text(x=x[i], y=y[i], s=txt, size=11, horizontalalignment='center', verticalalignment='center')
    
    plt.xlabel("the X axis")
    plt.ylabel("the Y axis")
    plt.title("A colored bubble plot")
    
    plt.show()

     

     本博主新开公众号, 希望大家能扫码关注一下,十分感谢大家。

    本文来自:https://github.com/holtzy/The-Python-Graph-Gallery/blob/master/PGG_notebook.py 

    展开全文
  • Python绘制气泡图

    千次阅读 2021-04-28 16:26:09
    实现python绘制气泡图,用气泡的不同颜色,不同大小展示信息 代码部分 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import matplotlib.pyplot as plt from ...

    实现python绘制气泡图,用气泡的不同颜色,不同大小展示信息

    代码部分

    import numpy as np
    import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt
    import matplotlib.pyplot as plt
    from matplotlib.pyplot import MultipleLocator
    
    def DrawBubble(read_name):#气泡图
        sns.set(style = "whitegrid")#设置样式
        fp = pd.read_excel(read_name)#数据来源
        x = fp['序号']#X轴数据
        y = fp['数值']#Y轴数据
        z = fp['数值']#用来调整各个点的大小s
        import matplotlib
        plt.rcParams['font.sans-serif'] = ['SimHei']
        plt.rcParams['axes.unicode_minus'] = False
    
    
        cm = plt.cm.get_cmap('jet')   #RdYlBu plasma   jet
        fig,ax = plt.subplots(figsize=(30,20))
        #注意s离散化的方法,因为需要通过点的大小来直观感受其所表示的数值大小
        #我所使用的是当前点的数值减去集合中的最小值后+0.1再*1000
        #参数是X轴数据、Y轴数据、各个点的大小、各个点的颜色
        bubble = ax.scatter(x, y , s = 3*np.sqrt(z)* 100, c = z, cmap = cm,vmin = 0,vmax = 25, linewidth = 0.5, alpha = 0.5)
        ax.grid()
        fig.colorbar(bubble)
        #plt.ylim((-1, 126))
        #ax.set_xlabel('people of cities', fontsize = 15)#X轴标签
        ax.set_ylabel('参数出现次数', fontsize = 18)#Y轴标签
        plt.xticks(())
        plt.yticks(())
        for i in range(len(fp['数值'])):  # 为每个气泡做标注
            plt.annotate(fp['数值'][i], xy=(fp['序号'][i], fp['数值'][i]), xytext=(fp['序号'][i]-0.10, fp['数值'][i] - 0.2), fontproperties="Times New Roman")
            plt.annotate(fp['名称'][0], xy=(fp['序号'][0], fp['数值'][0]), xytext=(fp['序号'][0]- 0.52, fp['数值'][0]-1.35), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][1], xy=(fp['序号'][1], fp['数值'][1]), xytext=(fp['序号'][1]- 0.52, fp['数值'][1]+1.1), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][2], xy=(fp['序号'][2], fp['数值'][2]), xytext=(fp['序号'][2]- 0.45, fp['数值'][2]+1.1), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][3], xy=(fp['序号'][3], fp['数值'][3]), xytext=(fp['序号'][3]- 0.42, fp['数值'][3]+1.1), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][4], xy=(fp['序号'][4], fp['数值'][4]), xytext=(fp['序号'][4]- 0.20, fp['数值'][4]+1.1), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][5], xy=(fp['序号'][5], fp['数值'][5]), xytext=(fp['序号'][5]- 0.40, fp['数值'][5]+1.1), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][6], xy=(fp['序号'][6], fp['数值'][6]), xytext=(fp['序号'][6]- 0.35, fp['数值'][6]+1.05), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][7], xy=(fp['序号'][7], fp['数值'][7]), xytext=(fp['序号'][7]- 0.27, fp['数值'][7]+0.95), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][8], xy=(fp['序号'][8], fp['数值'][8]), xytext=(fp['序号'][8]- 0.45, fp['数值'][8]+0.9), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][9], xy=(fp['序号'][9], fp['数值'][9]), xytext=(fp['序号'][9]- 0.36, fp['数值'][9]+1.1), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][10], xy=(fp['序号'][10], fp['数值'][10]), xytext=(fp['序号'][10]- 0.50, fp['数值'][10]+0.95), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][11], xy=(fp['序号'][11], fp['数值'][11]), xytext=(fp['序号'][11]- 0.40, fp['数值'][11]+0.75), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][12], xy=(fp['序号'][12], fp['数值'][12]), xytext=(fp['序号'][12]- 0.80, fp['数值'][12]-0.9), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][13], xy=(fp['序号'][13], fp['数值'][13]), xytext=(fp['序号'][13]- 0.50, fp['数值'][13]+0.75), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][14], xy=(fp['序号'][14], fp['数值'][14]), xytext=(fp['序号'][14]- 0.26, fp['数值'][14]-0.9), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][15], xy=(fp['序号'][15], fp['数值'][15]), xytext=(fp['序号'][15]- 0.64, fp['数值'][15]+0.75), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][16], xy=(fp['序号'][16], fp['数值'][16]), xytext=(fp['序号'][16]- 0.50, fp['数值'][16]-0.9), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][17], xy=(fp['序号'][17], fp['数值'][17]), xytext=(fp['序号'][17]- 0.75, fp['数值'][17]+0.75), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][18], xy=(fp['序号'][18], fp['数值'][18]), xytext=(fp['序号'][18]- 0.50, fp['数值'][18]-0.9), fontsize=10.2, fontproperties="simhei")
            plt.annotate(fp['名称'][19], xy=(fp['序号'][19], fp['数值'][19]), xytext=(fp['序号'][19]- 0.62, fp['数值'][19]+0.75), fontsize=10.2, fontproperties="simhei")
    
        plt.show()
        #fig.savefig('hah.png', bbox_inches='tight', dpi=800, pad_inches=0.0)
        fig.savefig('液滴.jpg', dpi=800)
    if __name__=='__main__':
        DrawBubble("液滴.xlsx")#气泡图
    
    
    

    运行效果
    后期再加
    欢迎加群:620139909
    在这里插入图片描述

    展开全文
  • 主要介绍了Python气泡提示与标签的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python 散点图与气泡图

    万次阅读 多人点赞 2019-08-23 00:27:15
    散点是数据点在直角坐标系平面上的分布,在统计学的回归分析与预测中经常用到。用横轴代表变量 xxx,纵轴代表变量 yyy,每组数据 (xi,yi)(x_i, y_i)(xi​,yi​) 在坐标系中用一个点表示。 做散点要用到 pyplot...
  • #绘制气泡图,经纬度定位,气泡颜色代表降水强度 cm = plt.cm.get_cmap('YlGn') size = rain h = plt.scatter(lon, lat, s=5, c=size, cmap=cm, vmin=0, vmax=20) plt.colorbar(h,fraction=0.05, pad=0.05) #...
  • 原博文2018-03-03 11:42 −基于散点图(scatter)的基础上稍加调整就可以变成气泡图。 #载入两个库 import pandas as pd import matplotlib.pyplot as plt 在Excel上写点数据,这里给个示例 绘制散点图:以数量列为...
  • 今天学习的内容气泡图的绘制,这种图与散点图有很多相似之处,所以可以借鉴散点图的代码进行制作。 分步骤解析气泡图的绘制方法 1.我们在复杂散点图绘制的基础上对代码进行修改,使之变为气泡图,原始代码如下: ...
  • 今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图气泡图的实现方法类似散点图的实现。修改散点图中点的大小,就变成气泡图。实现代码如下:import plotly as pyimport plotly.graph_objs as gopyplt = py....
  • Python数据可视化之气泡图数据获取数据分析与散点图对比绘制气泡图确定需要对比的属性 数据获取        •绘制气泡所需的数据与之前散点图的数据是一样的,都是美国中西部地区...
  • 这是一个图形“气泡”地图(即带有标记的地图,其大小映射到变量).但是,图例仅显示颜色类别,但不显示尺寸与值的关系.library(plotly)DF = data.frame(Group = c("A", "B", "A", "B", "A", "C", "C"),Value = c(100, 80...
  • Python、R实现气泡图 在工作中面对这么一个问题,使用软件实现二维气泡图,需要在每个气泡加上标签等信息。搜了一圈,关于此类的文章较少,故写篇总结,和大家一起探讨使用。 这里从网上随便找到一个数据集进行制作...
  • 本篇文章的目的通过汇制气泡图,熟悉Matplotlib中的patch元素保存图片时连同背景颜色一起保存我们成品长成这个样子我们先来看一些气泡图的案气泡图本质就是把柱状图用其他形状来表示,其主要目的还是为了形成数据间...
  • 可视化实验十一:利用Python绘制气泡图、雷达图

    千次阅读 多人点赞 2021-05-22 15:01:08
    掌握Python气泡图、雷达图绘图函数的使用及展示图形的意义 利用上述绘图函数实现数据可视化 实验内容: 练习python气泡图、雷达图绘图函数的用法,掌握相关参数的概念 根据步骤一绘图函数要求,处理实验数据。...
  • 惯例先来简单介绍下什么是散点:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同...
  • 在上一期的公众号文章里,我们通过动态气泡图展示了专利申请与地区经济的关系(动态气泡图:专利申请与地区经济),这其实是借鉴了汉斯·罗斯林的4分钟展示200个国家200年的兴衰历史([每日一图] 看了它,你也会爱上...
  • 本文实例为大家分享了python tkinter库实现气泡屏保和锁屏的具体代码,供大家参考,具体内容如下 显示效果如下: 代码:  import random import tkinter import threading from ctypes import * class RandomBall...
  • (关系型数据的可视化) ...接下来将会介绍如何通过Python绘制气泡图。 1、matplotlib模块 在上一篇散点图文章中,应用matplotlib模块中的scatter函数绘制了散点图,本文将继续使用该函数绘制气泡图。要实
  • 我们继续来把简单的图形丢到极坐标,这次是气泡图和柱状图,临摹的对象是澎湃美数课这个图看起来很好看,原理其实很简单,把柱状图和气泡图从笛卡尔坐标系中转移到极坐标系中来就OK我们开始本次的临摹吧本期的主题...
  • python画离散

    2020-11-28 12:42:35
    不过,恋习python突然想到,可以通过python将故宫的建筑物图片,转化为手绘(素描效果)。 效果如下:? 一、概念与原理我们都知道手绘效果的特征...根据灰度变化来模拟人类视觉的模拟程度把图像看成二维离散...
  • 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。以下文章来源于DataCharm ,作者宁海涛前言今天的推文...具体为空间气泡图的绘制,主要涉及的内容如下:geo...
  • 使用Python制作彩色气泡图

    千次阅读 2020-08-26 23:52:04
    最终实现的效果如: 主要的步骤如下: 1.从.xlsx文件中读出制图所需要的的数据 2.使用matplotlib库绘图并保存 完整代码如下: # -*- coding: utf-8 -*- """ Created on Wed Aug 26 21:54:42 2020 @author: Milk ...
  • 今天的推文教程使用geopandas进行空间图表的绘制(geopandas空间绘图很方便,省去了很多的数据处理过程,而且也完美衔接matplotlib,学习python 空间绘图的小伙伴可以看下啊),具体为空间气泡图的绘制,主要涉及的内容...
  • Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot)、通过size参数指定数据点的大小、自定义不同分组的气泡的色彩 #导入包和库 import matplotlib.pyplot as plt import pandas as pd #仿真数据 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,477
精华内容 990
关键字:

python画气泡图