python读取Excel绘制饼图的两种方式

这篇具有很好参考价值的文章主要介绍了python读取Excel绘制饼图的两种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python的两种数据作图方案

  • matplotlib简单方便,适合数据作图或科学作图(论文发表)
  • pyecharts流程略复杂,但功能强大,图形具有交互式,适合项目开发或商业分析报告,但是它是一个非常新的库,开发不稳定

本文介绍用pandas库读取Excel (csv)数据,分别用matplotlib库pyecharts库绘制饼图。

注:

  1. 实例是在Jupyter Notebook中运行的,可以实时看到运行效果。在pycharm中也能运行,但要保存成图片查看。
  2. 实例所用的数据非常简单,包含两列(id,label),共有49858行数据,我们这里分析label列数据(为0或1,其中0有37536条,1有12322条)。

python读取Excel绘制饼图的两种方式


用matplotlib绘制饼图

# 1.导入数据并格式化
import pandas as pd
import numpy as np
# 导入数据
df = pd.read_csv("test.csv")
# 根据label列分组并计数
df_label = df.groupby("label").size()
# 转化为作图所需要的array格式,如:([[    0, 37536],[    1, 12322]])
datas = list(zip(df_label.index.to_list(), df_label.to_list()))
datas = np.array(datas)

# 2.绘制饼图
import matplotlib.pyplot as plt
# 设置字体和编码格式
plt.rcParams['font.sans-serif'] = 'simhei'
plt.rcParams['axes.unicode_minus'] = False
# 添加数据,标签,比例
plt.pie(datas[:, 1], labels=datas[:, 0], autopct="%.1ff%%") 
# 在左上方添加图例
plt.legend(datas[:, 0], loc="upper left")
# 添加标题
plt.title("饼图-label分析") 
# 展示饼图
plt.show()

python读取Excel绘制饼图的两种方式


用pyecharts绘制饼图

from pyecharts import options as opts
from pyecharts.charts import Pie
# 1.定义绘图函数,参数:(数据,标题)
def create_pie(datas, title) -> Pie:
    pie = Pie()
    # 添加数据
    pie.add("", datas)
    pie.set_global_opts(
        # 添加标题和图例
        title_opts=opts.TitleOpts(title=title),
        legend_opts=opts.LegendOpts(pos_right="right")
    )
    # 自定义标签的格式
    pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}人: {d}%"))
    return pie

# 2.导入数据并格式化
import pandas as pd
# 导入数据
df = pd.read_csv("test.csv")
# 根据label列分组并计数
df_label = df.groupby("label").size()
# 转化为作图所需要的list格式,如:[(0, 37536), (1, 12322)]
datas = list(zip(df_label.index.to_list(), df_label.to_list()))

# 3.调用绘图函数
pie = create_pie(datas, "饼图-label分析")
pie.render_notebook()

python读取Excel绘制饼图的两种方式文章来源地址https://www.toymoban.com/news/detail-504553.html

到了这里,关于python读取Excel绘制饼图的两种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT操作excel的两种方式 QT基础入门【Excel的操作】

    QT操作excel的方式有两种:QAxObject 和QtXlsx QAxObject是通过调用office或者wps组件来实现对excel图表的操作的。只有装office软件或者wps软件就可以实现,但是 如果只装了office软件,有时可以用有时不可以用; 如果只装wps软件,完全不能使用; 如果两个都装了,基本上结果不可控;

    2024年02月12日
    浏览(39)
  • 【测试】Python反编译的两种方式

    以前听说py编译的程序不安全,容易被反。这两天刮台风了,闲着也是闲着,自己也跟着捣鼓了一番。 为了不给别人带来不好的影响,我编译我自己写的代码来做测试,代码头部如下图,引用了几个常见库: 用pyinstaller进行完整打包: 打包结束,在dist目录得到目标程序g.ex

    2024年02月03日
    浏览(39)
  • C++中cin >> str 和 string类的getline(cin, str) 用来读取用户输入的两种不同方式的不同点

    <string>的getline()函数语法如下【https://cplusplus.com/reference/string/string/getline/】: 其中,is是输入流对象;str是目标字符串对象;delim是可选参数,表示定界符(分隔符,默认为换行符\\\'n\\\')。 使用getline()函数时,它会从输入流中读取一行文本,并将读取到的内容存储到目标字符

    2024年02月11日
    浏览(37)
  • python爬虫中通用的两种乱码解决方式(自用)

    问题:在python爬虫爬取的时候,我们有时会遇到诸如以下的乱码: 解决方法一:用utf-8来转码,具体在请求过程中如下 解决方法二:用通用的中文乱码处理方式: 下面给出具体的运用例子:(仅供学习交流)

    2024年02月16日
    浏览(32)
  • C++中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点

    <string>的getline()函数语法如下【https://cplusplus.com/reference/string/string/getline/】: 其中,is是输入流对象;str是目标字符串对象;delim是可选参数,表示定界符(分隔符,默认为换行符\\\'n\\\')。 使用getline()函数时,它会从输入流中读取一行文本,并将读取到的内容存储到目标字符

    2024年02月11日
    浏览(35)
  • 图的两种遍历:深度优先遍历+广度优先遍历

    深度优先遍历 是指按照 深度方向 搜索,它类似于树的先根遍历,是树的先根遍历的推广。 基本思想(通俗) 选一条路走到 底 ,直到 走不通 ,就 原路返回 看看 是否还有路 可走,如果返回到起点还无路可走,说明深度优先遍历已完成。 这是要深度遍历的 无向图 :    深

    2024年02月06日
    浏览(46)
  • Java生成Echarts表图的两种方案

    简介 JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可

    2024年02月16日
    浏览(37)
  • (一)python发送HTTP 请求的两种方式(get和post )

    注:发送请求(包括请求行、方法类型、头、体) 常见的请求方式有get、post、put、delete            格式:requests.get() (内容: url必填; params选填:url参数字典) # ~ 无参数的get请求 # ~ 有参数的get请求 # ~ 使用params的get请求        知识扩展#  requests.post() post请求分为5种,常用

    2024年02月02日
    浏览(72)
  • 用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)

    弹幕可以给观众一种“实时互动”的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。 在国内的视频网站里,弹幕先是从A站被大家

    2023年04月27日
    浏览(37)
  • Excel双向柱状图的绘制

    Excel双向柱状图在绘制增减比较的时候经常用到,叫法繁多,双向柱状图、上下柱状图、增减柱状图都有。 这里主要介绍一下Excel的基础绘制方法和复杂一点的双向柱状图的绘制 首先升降的数据如下: 月份 上升 下降 202203 59 -43 202204 56 -21 首先选择数据后插入–柱状图,选择

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包