python数据可视化——饼图

简介: python数据可视化——饼图

文章目录


python数据可视化饼图


python数据可视化饼图


import pandas as pd
import numpy as np
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib.font_manager import _rebuild
import matplotlib as mpl
_rebuild()
mpl.rcParams["font.sans-serif"] = [u"SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
def fun1():
    y2016 = [13500,14500,25000,40000]
    y2017 = [16000,24000,37000,55000]
    labels = ["北京","杭州","上海","深圳"]
    #设定每个柱子的宽度
    bar_width = 0.45
    plt.bar(np.arange(4), y2016, label="2016",color="steelblue", alpha=0.8, width=bar_width)
    plt.bar(np.arange(4)+bar_width,y2017,label="2017",color="red",alpha=0.8,width=bar_width)
    plt.legend()
    plt.ylim([0,70000])
    plt.xticks([0.25,1.25,2.25,3.25],labels)
fun1()
plt.pie(x, explode=None, labels=None, colors=None, autopct=None,pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None,radius=None, counterclock=True, wedgeprops=None, textprops=None,center=(0, 0), frame=False, rotatelabels=False, hold=None, data=None)
# 参数说明:
# x:数组。输入的数据用于创建一个饼图。
# explode:数组,可选参数,默认为None。
#         如果不是None,是一个长度与x相同长度的数组,用来指定每部分的偏移量。
#         例如:explode=[0,0,0.2,0,0],第二个饼块被拖出。
# labels:列表,可选参数,默认为:None。
#        一个字符串序列作为每个饼块的标记。
# colors:数组,可选参数,默认为:None。
#       用来标注每块饼图的matplotlib颜色参数序列。
#       如果为None,将使用当前活动环的颜色。
# autopct:默认是None,字符串或函数,可选参数。
#         如果不是None,是一个字符串或函数用带有数值饼图标注。
# pctdistance:浮点数,可选参数,默认值:0.6。
#           每个饼切片的中心和通过autopct生成的文本开始之间的比例。
#           如果autopct是None,被忽略。
# shadow:布尔值,可选参数,默认值:False。
#         在饼图下面画一个阴影。
# labeldistance:浮点数,可选参数,默认值:1.1。
#             被画饼标记的直径。
# startangle:浮点类型,可选参数,默认:None。
#           如果不是None,从x轴逆时针旋转饼图的开始角度。
# radius:浮点类型,可选参数,默认为:None。
#       饼图的半径,如果半径是None,将被设置成1。
# counterclock:布尔值,可选参数,默认为:None。
#             指定指针方向,顺时针或者逆时针。
# wedgeprops:字典类型,可选参数,默认值:None。
#             参数字典传递给wedge对象用来画一个饼图。
#             例如:wedgeprops={'linewidth':3}设置wedge线宽为3。
# textprops:字典类型,可选参数,默认值为:None。
#           传递给text对象的字典参数。
# center:浮点类型的列表,可选参数,默认值:(0,0)。
#       图标中心位置。
# frame:布尔类型,可选参数,默认值:False。
#       如果是true,绘制带有表的轴框架。
# rotatelabels:布尔类型,可选参数,默认为:False。
#           如果为True,旋转每个label到指定的角度。
# 返回值:
# patches:列表。matplotlib.patches.Wedge实例列表。
# text:列表。matplotlib.text.Text实例label的列表。
# autotexts:列表。A是数字标签的Text实例列表。
#           仅当参数autopct不为None时才返回。
# '''
#饼图
def fun2():
    labels = ["中专","大专","本科","硕士","其它"]
    edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
    colors= ["#9999FF","#ff9999","#7777aa","#2442aa","#dd5555"]
    explode = [0,0.1,0,0,0]
    plt.pie(x=edu,#绘图的数据
           labels=labels,#数据标签
           colors=colors,#饼图颜色
           autopct="%.1f%%",#设置百分比
           startangle=180,#设置初始角度
           #frame=1,
           #center=(2,2)
           explode=explode,#设置突出显示
           radius=1.5#设置饼的半径
           )
fun2()
#散点图
def fun3():
    x = np.random.randn(1000)
    y = np.random.randn(1000)
    color = np.random.random(3000).reshape((1000,3))
    plt.scatter(x,y,color='b',s=5)#s表示点的半径
fun3()
#子图
def fun4():
    plt.figure(figsize=(12,8))
    #第一行左一
    a1 = plt.subplot(2,3,1)
    x1 = np.arange(5)
    y1 = x1 + 5
    a1.plot(x1,y1)
    #第一行中
    a2 = plt.subplot(2,3,2)
    x2 = np.linspace(-np.pi,np.pi,256)
    y2 = np.sin(x2)
    a2.plot(x2,y2)
    #第一行右一
    a3 = plt.subplot(2,3,3)
    x3 = np.linspace(-np.pi,np.pi,256)
    y3 = np.cos(x3)
    a3.plot(x3,y3)
    #第二行左一
    a4 = plt.subplot(2,3,4)
    x4 = np.arange(5)
    y4 = x4 + 5
    a4.plot(x4,y4)
    #第二行中
    a5 = plt.subplot(2,3,5)
    x5 = np.linspace(-np.pi,np.pi,256)
    y5 = np.sin(x5)
    a5.plot(x5,y5)
    #第二行右一
    a6 = plt.subplot(2,3,6)
    x6 = np.linspace(-np.pi,np.pi,256)
    y6 = np.cos(x6)
    a6.plot(x6,y6)
fun4()
plt.savefig(fname, dpi=None, facecolor='w', edgecolor='w',orientation='portrait', papertype=None, format=None,transparent=False, bbox_inches=None, pad_inches=0.1,frameon=None, metadata=None)
#图片保存
fun4()
#fname保存图片的路径
#dpi分辨率(每英寸上有多少点)
plt.savefig(fname="test.jpg",dpi=500, facecolor="g")


相关文章
|
9天前
|
数据采集 Web App开发 自然语言处理
新闻热点一目了然:Python爬虫数据可视化
新闻热点一目了然:Python爬虫数据可视化
|
1月前
|
机器学习/深度学习 数据可视化 搜索推荐
基于python的汽车数据可视化、推荐及预测系统
本研究围绕汽车数据可视化、推荐及预测系统展开,结合大数据与人工智能技术,旨在提升用户体验与市场竞争力。内容涵盖研究背景、意义、相关技术如 Python、ECharts、协同过滤及随机森林回归等,探讨如何挖掘汽车数据价值,实现个性化推荐与智能预测,为汽车行业智能化发展提供支持。
|
21天前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
1月前
|
数据采集 搜索推荐 数据可视化
基于python大数据的商品数据可视化及推荐系统
本系统基于Python、Django与ECharts,构建大数据商品可视化及推荐平台。通过爬虫获取商品数据,利用可视化技术呈现销售趋势与用户行为,结合机器学习实现个性化推荐,助力电商精准营销与用户体验提升。
|
1月前
|
数据可视化 大数据 数据挖掘
基于python大数据的招聘数据可视化分析系统
本系统基于Python开发,整合多渠道招聘数据,利用数据分析与可视化技术,助力企业高效决策。核心功能包括数据采集、智能分析、可视化展示及权限管理,提升招聘效率与人才管理水平,推动人力资源管理数字化转型。
|
2月前
|
搜索推荐 算法 数据可视化
基于python大数据的招聘数据可视化及推荐系统
本研究聚焦于基于协同过滤的就业推荐系统设计与实现。随着就业压力增大和信息技术发展,传统求职方式面临挑战。通过分析用户行为与职位特征,协同过滤技术可实现个性化职位推荐,提升求职与招聘效率。研究涵盖系统架构、数据采集、算法实现及可视化展示,旨在优化就业匹配,促进人才与岗位精准对接,助力就业市场智能化发展。
|
4月前
|
数据可视化 算法 数据挖掘
Python 3D数据可视化:7个实用案例助你快速上手
本文介绍了基于 Python Matplotlib 库的七种三维数据可视化技术,涵盖线性绘图、散点图、曲面图、线框图、等高线图、三角剖分及莫比乌斯带建模。通过具体代码示例和输出结果,展示了如何配置三维投影环境并实现复杂数据的空间表示。这些方法广泛应用于科学计算、数据分析与工程领域,帮助揭示多维数据中的空间关系与规律,为深入分析提供技术支持。
123 0
Python 3D数据可视化:7个实用案例助你快速上手
|
5月前
|
人工智能 数据可视化 数据挖掘
如何使用Python进行数据可视化
Python是一种强大的编程语言,广泛应用于数据分析与可视化。常见的可视化库有Matplotlib、Seaborn和Plotly等。数据可视化通常包括以下步骤:准备数据(如列表或从文件读取)、选择合适的工具、绘制图表、优化样式(如标题和标签)以及保存或分享结果。例如,使用Matplotlib可通过简单代码绘制线图并添加标题和轴标签。实际应用中,可通过调整颜色、样式等进一步优化图表,甚至使用交互式工具提升效果。总之,Python的丰富工具为数据可视化提供了强大支持。
176 5
|
10月前
|
数据可视化 数据挖掘 DataX
Python 数据可视化的完整指南
Python 数据可视化在数据分析和科学研究中至关重要,它能帮助我们理解数据、发现规律并以直观方式呈现复杂信息。Python 提供了丰富的可视化库,如 Matplotlib、Seaborn、Plotly 和 Pandas 的绘图功能,使得图表生成简单高效。本文通过具体代码示例和案例,介绍了折线图、柱状图、饼图、散点图、箱形图、热力图和小提琴图等常用图表类型,并讲解了自定义样式和高级技巧,帮助读者更好地掌握 Python 数据可视化工具的应用。
574 3
|
10月前
|
数据可视化 Python
使用Python进行数据可视化的初学者指南
在数据的海洋里,我们如何能够不迷失方向?通过数据可视化的力量,我们可以将复杂的数据集转化为易于理解的图形和图表。本文旨在为初学者提供一份简明的入门手册,介绍如何使用Python中的Matplotlib库来揭示数据背后的故事。我们将从基础的图表开始,逐步深入到更高级的可视化技术,确保每个步骤都清晰易懂,让初学者也能轻松上手。让我们开始绘制属于你自己的数据图谱吧!

推荐镜像

更多