python求直线斜率,python计算均线斜率,python 绘制斜率图进行对比分析

python求直线斜率,python计算均线斜率,python 绘制斜率图进行对比分析

本文主要介绍一个python绘制坡度图进行对比分析的例子,帮助大家更好的理解和学习使用python。感兴趣的朋友可以了解一下。

你好,我是林骥。

斜率图可以快速显示两组数据之间各维度的变化,特别适合比较两个时间点的数据。

例如,为了比较分析一个产品不同功能的用户满意度,经过问卷调查和数据统计,得出如下调查结果:

你不妨先自己思考一下,如何将这组数据可视化,让信息传递更加高效?

下面是我用matplotlib做的图表:

从图中可以直观的看出,功能C的用户满意度明显下降,我们用一个鲜艳的橙色来表示,以此来吸引观众的注意力;功能D和功能E的用户满意度明显提高。我们用蓝色表示数据在向好的方向发展;功能A和功能B的用户满意度变化不大,我们用浅灰色来表示,是为了弱化受众对这两个功能的关注,把更多的精力放在分析用户满意度下降明显的功能点上,这样图表可以提高信息传递的效率。

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

首先导入需要的库,设置中文字体,定义颜色。

#导入所需的库

将numpy作为np导入

进口熊猫作为pd

将matplotlib作为mpl导入

将matplotlib.pyplot作为plt导入

将matplotlib.image作为图像导入

#正常显示中文标签

mpl . RC params[' font . sans-serif ']=[' sim hei ']

#自动适应布局

mpl . RC params . update({ ' figure . autolayout ':True })

#负号正常显示

mpl . RC params[' axes . unicode _ MINUS ']=False

#定义颜色,主色:蓝色,辅色:灰色,补色:橙色

C={'blue':' #00589F ','深蓝':' #003867 ','浅蓝':' #5D9BCF ',

灰色':' # 99999 ','深灰色':' # 66666 ','浅灰色':' # #CCCCCC ',

橙色':' #F68F00 ','深橙色':' #A05D00 ','浅橙色':' #FBC171'}

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

#数据源路径

文件路径='。/data/问卷结果. xlsx '

#读取Excel文件

Df=pd.read _ excel (filepath,index _ col='调查年份')

#定义绘图数据

category _ names=df.columns

标签=df.index

数据=df.values

data_cum=data.cumsum(轴=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['蓝色']]

#画一个斜率图

对于I,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['右']。set_visible(False)

ax.spines['左']。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 ['gray'])

plt.show()

跑完之后会得到上图。

你可以去https://github.com/linjiwx/mp下载数据和完整的绘图代码。

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

不同类型的图表有不同的优点和缺点。

斜率图的好处是可以快速看到每个类别前后的变化,根据线条的陡度直观感受变化的幅度。

斜率图的缺点是看不出整体和局部的比例关系。另外,如果类别的顺序很重要,就不适合使用斜率图,因为类别会根据数值自动排列。

最后给大家留个思考题:在你看过的所有数据中,哪些数据适合用斜率图进行对比分析?

当你不知道选择什么样的图表时,不妨停下来想一想。你想让观众知道什么或者做什么?

以上是python绘制坡度图进行对比分析的详细内容。更多关于python对比分析的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: