python可视化分析绘制散点图和边界气泡图

目录
  • 一、绘制散点图
  • 二、绘制边界气泡图

一、绘制散点图

实现功能:

python绘制散点图,展现两个变量间的关系,当数据包含多组时,使用不同颜色和形状区分。

实现代码:

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings(action='once')
plt.style.use('seaborn-whitegrid')
sns.set_style("whitegrid")
print(mpl.__version__)
print(sns.__version__)
def draw_scatter(file):
    # Import dataset
    midwest = pd.read_csv(file)
    # Prepare Data
    # Create as many colors as there are unique midwest['category']
    categories = np.unique(midwest['category'])
    colors = [plt.cm.Set1(i / float(len(categories) - 1)) for i in range(len(categories))]
    # Draw Plot for Each Category
    plt.figure(figsize=(10, 6), dpi=100, facecolor='w', edgecolor='k')

    for i, category in enumerate(categories):
        plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category == category, :],s=20,c=colors[i],label=str(category))
    # Decorations
    plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),)
    plt.xticks(fontsize=10)
    plt.yticks(fontsize=10)
    plt.xlabel('Area', fontdict={'fontsize': 10})
    plt.ylabel('Population', fontdict={'fontsize': 10})
    plt.title("Scatterplot of Midwest Area vs Population", fontsize=12)
    plt.legend(fontsize=10)
    plt.show()
draw_scatter("F:\数据杂坛\datasets\midwest_filter.csv")

实现效果:

二、绘制边界气泡图

实现功能:

气泡图是散点图中的一种类型,可以展现三个数值变量之间的关系,之前的文章介绍过一般的散点图都是反映两个数值型变量的关系,所以如果还想通过散点图添加第三个数值型变量的信息,一般可以使用气泡图。气泡图的实质就是通过第三个数值型变量控制每个散点的大小,点越大,代表的第三维数值越高,反之亦然。而边界气泡图则是在气泡图添加第四个类别型变量的信息,将一些重要的点选出来并连接。

实现代码:

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
from scipy.spatial import ConvexHull
warnings.filterwarnings(action='once')
plt.style.use('seaborn-whitegrid')
sns.set_style("whitegrid")
print(mpl.__version__)
print(sns.__version__)

def draw_scatter(file):
    # Step 1: Prepare Data
    midwest = pd.read_csv(file)

    # As many colors as there are unique midwest['category']
    categories = np.unique(midwest['category'])
    colors = [plt.cm.Set1(i / float(len(categories) - 1)) for i in range(len(categories))]

    # Step 2: Draw Scatterplot with unique color for each category
    fig = plt.figure(figsize=(10, 6), dpi=80, facecolor='w', edgecolor='k')

    for i, category in enumerate(categories):
        plt.scatter('area','poptotal',data=midwest.loc[midwest.category == category, :],s='dot_size',c=colors[i],label=str(category),edgecolors='black',linewidths=.5)
    # Step 3: Encircling
    # https://stackoverflow.com/questions/44575681/how-do-i-encircle-different-data-sets-in-scatter-plot
    def encircle(x, y, ax=None, **kw):  # 定义encircle函数,圈出重点关注的点
        if not ax: ax = plt.gca()
        p = np.c_[x, y]
        hull = ConvexHull(p)
        poly = plt.Polygon(p[hull.vertices, :], **kw)
        ax.add_patch(poly)
    # Select data to be encircled
    midwest_encircle_data1 = midwest.loc[midwest.state == 'IN', :]
    encircle(midwest_encircle_data1.area,midwest_encircle_data1.poptotal,ec="pink",fc="#74C476",alpha=0.3)
    encircle(midwest_encircle_data1.area,midwest_encircle_data1.poptotal,ec="g",fc="none",linewidth=1.5)
    midwest_encircle_data6 = midwest.loc[midwest.state == 'WI', :]
    encircle(midwest_encircle_data6.area,midwest_encircle_data6.poptotal,ec="pink",fc="black",alpha=0.3)
    encircle(midwest_encircle_data6.area,midwest_encircle_data6.poptotal,ec="black",fc="none",linewidth=1.5,linestyle='--')
    # Step 4: Decorations
    plt.gca().set(xlim=(0.0, 0.1),ylim=(0, 90000),)
    plt.xticks(fontsize=12)
    plt.yticks(fontsize=12)
    plt.xlabel('Area', fontdict={'fontsize': 14})
    plt.ylabel('Population', fontdict={'fontsize': 14})
    plt.title("Bubble Plot with Encircling", fontsize=14)
    plt.legend(fontsize=10)
    plt.show()
draw_scatter("F:\数据杂坛\datasets\midwest_filter.csv")

实现效果:

到此这篇关于python可视化分析绘制散点图和边界气泡图的文章就介绍到这了,更多相关python绘制内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-06-20

python绘制散点图和折线图的方法

本文实例为大家分享了python绘制散点图和折线图的具体代码,供大家参考,具体内容如下 #散点图,一般和相关分析.回归分析结合使用 import pandas import matplotlib import matplotlib.pyplot as plt   plot_circle=pandas.read_csv('D://Python projects//reference data//6.1//data.csv') #定义主题颜色 maincolor=(47/256,82/256,141

Python绘制简单散点图的方法

散点图,顾名思义是一些散乱的点构成的图.那么这些散乱的点有什么作用呢?散点图通过用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式. 绘制方法大体上与折线图一致,只是对点不需要去拟合折线,使用plt.scatter()函数替代plt.plot()即可.例如绘制三月份与十一月份的气温散点图,代码如下: '''     绘制散点图,要点:plt.scatter(x,y) ''' # 导入模块 from matplotlib import pyplot a

python绘制地震散点图

本项目是利用五年左右的世界地震数据,通过python的pandas库.matplotlib库.basemap库等进行数据可视化,绘制出地震散点图.主要代码如下所示 from __future__ import division import pandas as pd from pandas import Series,DataFrame import numpy as np from matplotlib.patches import Polygon chi_provinces = ['北京',

python绘制散点图并标记序号的方法

实现二维平面上散点的绘制,并可以给每个散点标记序号或者名称: import numpy as np import matplotlib.pyplot as plt x=[2.3,4.5,3,7,6.5,4,5.3] y=[5,4,7,5,5.3,5.5,6.2] n=np.arange(7) fig,ax=plt.subplots() ax.scatter(x,y,c='r') for i,txt in enumerate(n): ax.annotate(txt,(x[i],y[i])) 以上这

Python绘制散点图的教程详解

少废话,直接上代码 import matplotlib.pyplot as plt import numpy as np # 1. 首先是导入包,创建数据 n = 10 x = np.random.rand(n) * 2# 随机产生10个0~2之间的x坐标 y = np.random.rand(n) * 2# 随机产生10个0~2之间的y坐标 # 2.创建一张figure fig = plt.figure(1) # 3. 设置颜色 color 值[可选参数,即可填可不填],方式有几种 # col

python使用Plotly绘图工具绘制气泡图

今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py import plotly.graph_objs as go pyplt = py.offline.plot trace0 = go.Scatter( x=[1, 2, 3, 4, 5, 6, 7], y=[8, 10, 12, 14, 16, 18, 20], mode='markers', mar

python使用Plotly绘图工具绘制柱状图

本文实例为大家分享了python使用Plotly绘图工具绘制柱状图的具体代码,供大家参考,具体内容如下 使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数 通过参数,可以设置柱状图的样式. 通过barmod进行设置可以绘制出不同类型的柱状图出来. 我们先来实现一个简单的柱状图: # -*- coding: utf-8 -*- import plotly as py import plotly.graph_objs as go pyplt = py.offlin

python使用Plotly绘图工具绘制水平条形图

本文实例为大家分享了python绘制水平条形图的具体代码,供大家参考,具体内容如下 水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图 水平条形图需要在Bar函数中设置orientation= 'h' 其他的参数与柱状图相同.也可以通过设置barmode = 'stack', 绘制层叠水平条形图和瀑布式水平条形图 import plotly as py import plotly.graph_objs as go pyplt = py.offline.plot data =

python使用Plotly绘图工具绘制散点图、线形图

今天在研究Plotly绘制散点图的方法,供大家参考,具体内容如下 使用Python3.6 + Plotly Plotly版本2.0.0 在开始之前先说说,还需要安装库Numpy,安装方法在我的另一篇博客中有写到:python3.6下Numpy库下载与安装图文教程 因为Plotly没有自己独立的线性图形函数,所以把线性图形与散点图形全部用一个函数实现 这个函数是Scatter函数 下面举几个简单的例子 先画一个纯散点图,代码如下: import plotly import plotly.graph

详解Python使用Plotly绘图工具,绘制甘特图

今天来讲一下如何使用Python 的绘图工具Plotly来绘制甘特图的方法 甘特图大家应该了解熟悉,就是通过条形来显示项目的进度.时间安排等相关情况的. 我们今天来学习一下,如何使用ployly来绘制甘特图 绘制甘特图的函数为Plotly.figure_factoryz中create_gantt方法 通过参数事件Task,开始Start,结束Finish的时间的数据来绘制甘特图 import plotly as py import plotly.figure_factory as ff pypl

python Plotly绘图工具的简单使用

1.plotly库的相关介绍 1)相关说明 plotly是一个基于javascript的绘图库,plotly绘图种类丰富,效果美观: 易于保存与分享plotly的绘图结果,并且可以与Web无缝集成: ploty默认的绘图结果,是一个HTML网页文件,通过浏览器可以直接查看: 2)plotly与matplotlib.seaborn的关系   需要注意的是,ployly绘图库与matplotlib绘图库.seaborn绘图库并没有什么关系.也就是说说plotly是一个单独的绘图库,有自己独特的绘图语

python 简单的绘图工具turtle使用详解

目录 1. 画布(canvas)   1.1 设置画布大小 2. 画笔   2.1 画笔的状态   2.2 画笔的属性   2.3 绘图命令 3. 命令详解 4. 绘图举例   4.1 太阳花   4.2 绘制小蟒蛇   4.3 绘制五角星 python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle type(turtle) >>> type(turtle) <c

Python使用plotly绘制数据图表的方法

导语:使用 python-plotly 模块来进行压测数据的绘制,并且生成静态 html 页面结果展示. 不少小伙伴在开发过程中都有对模块进行压测的经历,压测结束后大家往往喜欢使用Excel处理压测数据并绘制数据可视化视图,但这样不能很方便的使用web页面进行数据展示.本文将介绍使用python-plotly模块来进行压测数据的绘制,并且生成静态html页面方便结果展示. Plotly简介 Plotly是一款使用JavaScript开发的制图工具,提供了与主流数据分析语言交互的API(如:Pyt

Python实现平行坐标图的绘制(plotly)方式

平行坐标图简介 当数据的维度超过三维时,此时数据的可视化就变得不再那么简单.为解决高维数据的可视化问题,我们可以使用平行坐标图.以下关于平行坐标图的解释引自百度百科:为了克服传统的笛卡尔直角坐标系容易耗尽空间. 难以表达三维以上数据的问题, 平行坐标图将高维数据的各个变量用一系列相互平行的坐标轴表示, 变量值对应轴上位置.为了反映变化趋势和各个变量间相互关系,往往将描述不同变量的各点连接成折线.所以平行坐标图的实质是将m维欧式空间的一个点Xi(xi1,xi2,...,xim) 映射到二维平面上的

Python使用matplotlib绘图无法显示中文问题的解决方法

本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法.分享给大家供大家参考,具体如下: 在python中,默认情况下是无法显示中文的,如下代码: import matplotlib.pyplot as plt # 定义文本框和箭头格式 decisionNode = dict(boxstyle = "sawtooth", fc = "0.8") leafNode = dict(boxstyle = "round4", f