iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python如何绘制斜率图进行对比分析
  • 236
分享到

python如何绘制斜率图进行对比分析

2023-06-14 06:06:44 236人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python如何绘制斜率图进行对比分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。斜率图,可以快速展现两组数据之间各维度的变化,特别适合用于对比两个时间点的数据。比如说,为了

这篇文章将为大家详细讲解有关python如何绘制斜率图进行对比分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

斜率图,可以快速展现两组数据之间各维度的变化,特别适合用于对比两个时间点的数据。

比如说,为了对比分析某产品不同功能的用户满意度,经过问卷调查和数据统计,得到下面这个调查结果:

python如何绘制斜率图进行对比分析

你不妨自己先思考一下,如何对这组数据进行可视化,才能让信息传递变得更加高效?

下面是我用 matplotlib 制作的图表:

python如何绘制斜率图进行对比分析

从图中可以直观地看出,功能 C 的用户满意度明显下降,我们用比较鲜明的橙色来表示,以便引起观众重点关注;功能 D 和功能 E 的用户满意度明显提升,我们用蓝色表示,代表数据正在向好的方向发展;功能 A 和功能 B 的用户满意度变化不大,我们用浅灰色表示,以便削弱观众对这两个功能的注意力,把更多的精力用于分析用户满意度明显下降的功能点,从而让图表起到提升信息传递效率的目的。

下面是用 matplotlib 画图的详细步骤。

首先,导入所需的库,并设置中文字体和定义颜色等。

# 导入所需的库import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltimport matplotlib.image as image# 正常显示中文标签mpl.rcParams['font.sans-serif'] = ['SimHei']# 自动适应布局mpl.rcParams.update({'figure.autolayout': True})# 正常显示负号mpl.rcParams['axes.unicode_minus'] = False# 定义颜色,主色:蓝色,辅助色:灰色,互补色:橙色c = {'蓝色':'#00589F', '深蓝色':'#003867', '浅蓝色':'#5D9BCF',   '灰色':'#999999', '深灰色':'#666666', '浅灰色':'#CCCCCC',   '橙色':'#F68F00', '深橙色':'#A05D00', '浅橙色':'#FBC171'}

其次,从 excel 文件中读取随机模拟的数据,并定义画图用的数据。

# 数据源路径filepath='./data/问卷调查结果.xlsx'# 读取 Excel文件df = pd.read_excel(filepath, index_col='调查年度')# 定义画图用的数据cateGory_names = df.columnslabels = df.indexdata = df.valuesdata_cum = data.cumsum(axis=1)

接下来,开始用「面向对象」的方法进行画图。

# 使用「面向对象」的方法画图,定义图片的大小fig, ax=plt.subplots(figsize=(6, 6))# 设置背景颜色fig.set_facecolor('w')ax.set_facecolor('w')# 设置标题ax.set_title('\n用户满意度随时间的变化\n', fontsize=26, loc='left', color=c['深灰色'])# 定义颜色category_colors = [c['浅灰色'], c['浅灰色'], c['橙色'], c['蓝色'], c['蓝色']]# 画斜率图for i, color in zip(np.arange(len(df.columns)), category_colors):  ax.plot(df.index, df.iloc[:, i], marker='o', color=color)  # 设置数据标签及其文字颜色  ax.text(-0.03, df.iloc[0, i], df.columns[i] + ' ' + '{:.0%}'.fORMat(df.iloc[0, i]), ha='right', va='center', color=color, fontsize=16)  ax.text(1.06, df.iloc[1, i], '{:.0%}'.format(df.iloc[1, i]), ha='left', va='center', color=color, fontsize=16)# 设置 Y 轴刻度范围ax.set_ylim(df.values.min()-0.02, df.values.max()+0.01)# 隐藏 Y 轴ax.yaxis.set_visible(False)# 隐藏边框ax.spines['top'].set_visible(False)ax.spines['right'].set_visible(False)ax.spines['left'].set_visible(False)ax.spines['bottom'].set_visible(False)# 隐藏 X 轴的刻度线ax.tick_params(axis='x', which='major', length=0)# 设置坐标标签字体大小和颜色ax.tick_params(labelsize=16, colors=c['灰色'])plt.show()

运行之后,便得到上面那张图。

你可以前往 https://GitHub.com/linjiwx/mp 下载画图用的数据和完整代码。

对于同一组数据,不同的人可能会有不同的观察视角,对它们进行可视化,往往也存在多种不同的解决方案,这里介绍的方法,并不是唯一正确的答案。关键在于,图表的设计者想要表达什么信息?是否让观众正确且快速地理解了想要表达的信息?

不同类型的图表,有着不同的优势和劣势。

斜率图的优势,是能快速看到每个类别前后发生的变化,并能根据线条的陡峭程度,直观地感受到变化的幅度。

斜率图的劣势,是看不出整体与部分的占比关系。另外,如果类别的顺序很重要,那么也不适合使用斜率图,因为类别会根据数值大小自动进行排列。

关于“Python如何绘制斜率图进行对比分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: python如何绘制斜率图进行对比分析

本文链接: https://www.lsjlt.com/news/268664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python如何绘制斜率图进行对比分析
    这篇文章将为大家详细讲解有关python如何绘制斜率图进行对比分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。斜率图,可以快速展现两组数据之间各维度的变化,特别适合用于对比两个时间点的数据。比如说,为了...
    99+
    2023-06-14
  • python 绘制斜率图进行对比分析
    你好,我是林骥。 斜率图,可以快速展现两组数据之间各维度的变化,特别适合用于对比两个时间点的数据。 比如说,为了对比分析某产品不同功能的用户满意度,经过问卷调查和数据统计,得到下面这...
    99+
    2024-04-02
  • python绘制分组对比柱状图
    本文实例为大家分享了python绘制分组对比柱状图的具体代码,供大家参考,具体内容如下 首先放效果图:   # -*- coding: utf-8 -*- import ...
    99+
    2024-04-02
  • Python如何绘制概率分布直方图浅析
    目录前言一、代码二、运行效果总结前言 直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱。大家平时可能见到最多就是 matplotlib,seaborn...
    99+
    2024-04-02
  • python怎么绘制分组对比柱状图
    今天小编给大家分享一下python怎么绘制分组对比柱状图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先放效果图:&nbs...
    99+
    2023-06-30
  • Python OpenCV中如何进行图形绘制
    这篇文章将为大家详细讲解有关Python OpenCV中如何进行图形绘制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。背景使用OpenCV进行图形绘制是一种必备的技能,在图像的任务...
    99+
    2023-06-22
  • python进行相关性分析并绘制散点图详解
    目录 需要用到的库数据读取总结近期,有小伙伴问我关于怎么使用python进行散点图的绘制,这个东西很简单,但是怎么讲相关性的值标注在图形上略显麻烦,因此,在这里记录一下,将...
    99+
    2024-04-02
  • 如何进行Access和SQLite的对比分析
    这篇文章将为大家详细讲解有关如何进行Access和SQLite的对比分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。SQLite和Access,二者都是常...
    99+
    2024-04-02
  • 使用Python对Syslog信息进行分析并绘图的实现
    实验目的: 对设备Syslong信息进行分析记录,并写入sqlite数据库中;后续读取数据库的信息,对Syslog的严重级别分布、来源进行分析进行分析。 同时监控O...
    99+
    2024-04-02
  • 如何进行MySQL批量insert效率对比
    这篇文章给大家介绍如何进行MySQL批量insert效率对比,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 MySQL批量insert效率对比 事例如下: [root@B...
    99+
    2024-04-02
  • 如何进行malloc/free与new/delete的对比分析
    今天给大家介绍一下如何进行malloc/free与new/delete的对比分析。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。相同点:都可用于申请动态内存和释...
    99+
    2023-06-17
  • 如何对Python 构建工具进行分析
    如何对Python 构建工具进行分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。经过很长时间的研究,Python 构建工具中的django模板可以说是为互连网应用而诞生的...
    99+
    2023-06-17
  • Python Pyecharts绘制桑基图分析用户行为路径
    目录读取数据生成节点数据组织数据:定义节点和流量数据可视化桑基图,它的核心是对不同点之间,通过线来连接。线的粗细代表流量的大小。很多工具都能实现桑基 图,比如:Excel、table...
    99+
    2024-04-02
  • H5中canvas如何绘制圆环百分比进度
    这篇文章主要为大家展示了“H5中canvas如何绘制圆环百分比进度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5中canvas如何绘制圆环百分比进度”这篇文...
    99+
    2024-04-02
  • 如何进行nGrinder原理分析及性能工具对比
    这篇文章的内容主要围绕如何进行nGrinder原理分析及性能工具对比进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在介绍nGrinder之前,有必要...
    99+
    2023-06-05
  • 如何进行Java中对HashMap的深度分析与比较
    如何进行Java中对HashMap的深度分析与比较,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Java的世界里,无论类还是各种数据,其结构的处理是整个程序的逻辑以及性能...
    99+
    2023-06-03
  • 如何进行API测试工具SoapUI和Postman对比分析
    今天就跟大家聊聊有关如何进行API测试工具SoapUI和Postman对比分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。最近公司要引入API测试工具,经过调查和了解,最终决定在S...
    99+
    2023-06-04
  • 如何进行竞争对手分析
    竞争对手分析是任何成功的SEO战略的重要组成部分。主要步骤包括:1、确定主要竞争对手、2、关键词和排名分析、3、内容质量评估、4、外部链接建设分析、5、网站结构和用户体验、6、社交媒体表现、7、业务和销售漏斗。运用关键词分析工具来确定哪些关...
    99+
    2023-10-29
    竞争对手
  • 如何使用HTML5进行SVG矢量图形绘制
    这篇文章主要介绍了如何使用HTML5进行SVG矢量图形绘制,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VG 表示可伸缩矢量图形,这是一门用...
    99+
    2024-04-02
  • Pandas使用Merge与Join和Concat分别进行合并数据效率对比分析
    目录合并DF连接DFMerge和Join的效率对比在 Pandas 中有很多种方法可以进行dataframe(数据框)的合并。 本文将研究这些不同的方法,以及如何将它们执行速度的对比...
    99+
    2022-12-08
    Pandas Merge合并数据 Pandas Join合并数据 Pandas Concat合并数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作