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


相关文章
|
4天前
|
数据可视化 数据挖掘 数据处理
利用Python实现简单的数据可视化
数据可视化是将数据以图形或图像的方式呈现,帮助人们更直观地理解数据背后的信息。本文介绍如何利用Python中的常用库matplotlib和seaborn来实现简单的数据可视化,包括绘制折线图、散点图、柱状图和箱线图等,旨在帮助读者快速上手数据可视化技术。
|
25天前
|
数据可视化 JavaScript 前端开发
如何通过Python实现高效的数据可视化
数据可视化是数据分析领域中非常重要的一环,因为它能够帮助用户更好地理解数据并从中发现隐藏的模式和趋势。Python已经成为数据科学家和分析师最受欢迎的语言之一,因此Python的数据可视化工具也愈加丰富和强大。本文将介绍Python的主要数据可视化工具以及如何使用它们实现高效的数据可视化。
|
1天前
|
数据可视化 算法 JavaScript
使用Python进行网络数据可视化的多种方法与技巧
在当今信息爆炸的时代,网络数据量呈指数级增长,了解和分析这些数据对于许多领域的决策制定至关重要。可视化是理解和解释大量数据的强大工具之一,而Python作为一种流行的编程语言,提供了丰富的库和工具来进行网络数据可视化。本文将介绍一些使用Python进行网络数据可视化的方法与技巧,并提供相应的代码实例。
|
3天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python进行数据可视化
【6月更文挑战第7天】
15 1
|
4天前
|
人工智能 数据可视化 开发者
|
5天前
|
数据可视化 数据挖掘 大数据
Python中的数据可视化库Matplotlib及其应用
数据可视化是数据分析过程中至关重要的一环,而Matplotlib作为Python中最流行的数据可视化库之一,为用户提供了丰富的绘图工具和定制选项。本文将介绍Matplotlib的基本用法和常见应用,帮助读者更好地利用这一强大工具进行数据呈现和分析。
|
9天前
|
监控 数据可视化 应用服务中间件
Python进行数据可视化(Plotly、Dash)
【6月更文挑战第3天】本文介绍了Python中的数据可视化工具Plotly和Dash,它们用于创建交互式图表和Web应用。首先,通过`pip`安装Plotly和Dash库,然后通过案例展示了如何使用它们创建数据可视化应用。第一个案例是一个简单的销售数据可视化,用户可选择年份查看相应销售数据的条形图。第二个案例增加了交互性,允许用户通过下拉菜单选择产品查看销售趋势。接着,讨论了如何添加样式美化和交互性,使应用更吸引人且易于使用。最后,讲解了如何将Dash应用部署到生产环境,包括使用Gunicorn和Nginx,配置HTTPS,集成用户认证,以及日志记录和错误处理。文章强调了监控和性能优化对于生产
26 7
|
16天前
|
数据可视化 数据处理 Python
Python数据可视化:Matplotlib库的使用与实战
Python数据可视化:Matplotlib库的使用与实战
34 0
|
25天前
|
数据可视化 前端开发 JavaScript
盘点12个Python数据可视化库,通吃任何领域
盘点12个Python数据可视化库,通吃任何领域
|
27天前
|
数据可视化 数据挖掘 数据处理
Python中的数据可视化技术及应用
数据可视化是数据分析中至关重要的一环,而Python作为一种强大的编程语言,提供了丰富的数据可视化工具和库。本文将介绍Python中常用的数据可视化技术及其在实际应用中的案例,帮助读者更好地理解和运用数据可视化技术。