怎么用excel求斜率?斜率图 , 可以快速展现两组数据之间各维度的变化 , 特别适合用于对比两个时间点的数据 。
比如说 , 为了对比分析某产品不同功能的用户满意度 , 经过问卷调查和数据统计 , 得到下面这个调查结果:
文章插图
你不妨自己先思考一下 , 如何对这组数据进行可视化 , 才能让信息传递变得更加高效?
下面是我用 matplotlib 制作的图表:
文章插图
从图中可以直观地看出 , 功能 C 的用户满意度明显下降 , 我们用比较鲜明的橙色来表示 , 以便引起观众重点关注;
功能 D 和功能 E 的用户满意度明显提升 , 我们用蓝色表示 , 代表数据正在向好的方向发展;
功能 A 和功能 B 的用户满意度变化不大 , 我们用浅灰色表示 , 以便削弱观众对这两个功能的注意力 , 把更多的精力用于分析用户满意度明显下降的功能点 , 从而让图表起到提升信息传递效率的目的 。
01、下面是用 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 = https://www.i8ku.com/2022/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)
推荐阅读
- excel表格打开后乱码的解决方法?
- excel表格冻结窗口怎么设置
- word页码格式怎么设置?
- word怎么看字数?
- word通配符怎么用?
- word制表位怎么用
- excel表格函数公式大全?
- 怎么去掉word页眉下划线?
- Excel中Sumif函数的使用方法
- word怎么打分数?