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")


相关文章
|
1天前
|
数据可视化 数据挖掘 数据处理
Python中数据可视化的魔法——使用Matplotlib和Pandas
【9月更文挑战第5天】在Python的世界里,数据可视化是连接复杂数据与人类直觉的桥梁。本篇文章将带领读者探索如何使用Matplotlib和Pandas这两个强大的库来揭示数据背后的故事。我们将从基础概念开始,逐步深入到高级技巧,让每一位读者都能轻松创建引人入胜的数据可视化图表,使数据分析变得既直观又有趣。
33 14
|
8天前
|
数据可视化 物联网 区块链
探索Python中的数据可视化:使用Matplotlib和Seaborn绘制图表探索未来:区块链、物联网与虚拟现实的融合趋势与应用前景
【8月更文挑战第30天】本文旨在引导读者通过Python编程语言,利用Matplotlib和Seaborn库,轻松掌握数据可视化技术。文章以浅显易懂的语言,结合实用的代码示例,从基础的图表绘制到高级定制功能,逐步深入讲解如何在数据分析中运用这些工具。无论你是编程新手还是希望提升可视化技能的开发者,都能在这篇文章中找到有价值的信息,让你的数据“活”起来。
|
9天前
|
数据可视化 数据挖掘 Python
Python中的数据可视化:探索性数据分析的利器
【8月更文挑战第29天】在数据科学的世界里,数据可视化是理解复杂数据集的关键。本文将引导你通过Python的强大库,如Matplotlib和Seaborn,来揭示数据背后的故事。我们将一起探索如何利用这些工具进行有效的数据可视化,从而促进对数据的深入理解和分析。文章不仅提供代码示例,还将讨论如何选择恰当的图表类型、调整视觉元素以及如何解释图表结果,旨在帮助初学者建立坚实的数据可视化基础。
|
10天前
|
存储 数据可视化 Python
使用python moviepy提取视频中的音频,同时对音频数据进行数据可视化分析
使用python moviepy提取视频中的音频,同时对音频数据进行数据可视化分析
9 0
|
5天前
|
存储 数据可视化 数据挖掘
使用Python进行数据可视化
【9月更文挑战第2天】本文将介绍如何使用Python的Matplotlib和Seaborn库进行数据可视化。我们将通过实例演示如何创建各种图表,包括线图、散点图、柱状图等。无论你是数据分析师还是科研人员,这篇文章都将帮助你更好地理解和展示你的数据。
|
7天前
|
数据可视化 定位技术 Python
Python中的数据可视化之美
【8月更文挑战第31天】 在数据科学的世界里,将复杂的数据集转换成直观的图形是至关重要的。Python作为一门强大的编程语言,提供了多种库来简化这一过程。本文将通过实际案例展示如何使用Python进行数据可视化,并介绍相关的库和工具。我们将从基础图表开始,逐步深入到交互式和高级可视化技术,为读者提供一套完整的数据可视化解决方案。
|
9天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python中的数据可视化:使用Matplotlib库绘制图表
【8月更文挑战第30天】数据可视化是数据科学和分析的关键组成部分,它帮助我们以直观的方式理解数据。在Python中,Matplotlib是一个广泛使用的绘图库,提供了丰富的功能来创建各种类型的图表。本文将介绍如何使用Matplotlib库进行数据可视化,包括安装、基本概念、绘制不同类型的图表以及自定义图表样式。我们将通过实际代码示例来演示如何应用这些知识,使读者能够轻松地在自己的项目中实现数据可视化。
|
9天前
|
数据可视化 Python
使用Python进行数据可视化的初学者指南
【8月更文挑战第30天】本文将引导你如何使用Python进行数据可视化,我们将从安装所需的库开始,然后介绍一些基本的图表类型和它们的用途。最后,我们将通过一些实际的例子来演示如何创建这些图表。无论你是数据分析师、研究人员还是只是对数据可视化感兴趣的人,这篇文章都会为你提供一些有用的信息。
|
10天前
|
数据可视化 JavaScript 前端开发
Python中的数据可视化:从基础到进阶深入理解操作系统:进程调度与优先级
【8月更文挑战第29天】数据可视化是现代数据分析不可或缺的一环。本文将引导读者通过Python这一强大的编程语言,利用其丰富的库和工具,探索数据可视化的奥秘。我们将从最基础的图表开始,逐步深入到更复杂的可视化技术,最终实现高级定制和交互式可视化。无论你是数据科学新手还是希望提升可视化技能的开发者,这篇文章都将为你打开一扇通往数据美学的大门。
|
14天前
|
机器学习/深度学习 数据可视化 大数据
Python数据可视化的最新趋势
【8月更文挑战第20天】随着数据量激增及洞察需求提升,数据可视化在数据分析领域愈发关键。Python凭借其强大的库支持,已成为数据可视化的重要工具。当前趋势包括交互式可视化(如Bokeh、Plotly)和机器学习驱动的可视化(如Yellowbrick)。未来发展方向涉及:整合增强现实(AR)与虚拟现实(VR)技术,实现更为沉浸式的体验;自动化可视化,借助机器学习简化流程;强化大数据支持,优化处理效率;多模态数据可视化,综合多种类型数据;以及提高可视化工具的互操作性和自适应性,满足跨平台需求。Python将持续引领数据可视化领域的革新与发展。
23 0
下一篇
DDNS