python可视化学习(十四)排序图

您所在的位置:网站首页 excel柱状图数据怎么排序 python可视化学习(十四)排序图

python可视化学习(十四)排序图

2024-06-12 04:27| 来源: 网络整理| 查看: 265

#排序图 它的主要作用就是帮助我们比较变量的大小,典型的排序图有:柱状图,坡度图,哑铃图…

#先来认识柱状图的函数 plt.vlines():vertical line. 就是绘制竖线的函数 #重要的参数 x:横坐标 ymin :条形图的起点,最下方 ymax:y轴的终点,也是长条的最上边

#认识数据 df_raw =pd.read_csv('mpg_ggplot2.csv') df_raw.head(20)

在这里插入图片描述#注:一个汽车的品牌有不同的车型,每个车型都有自己的里程/加论,所以不同的车型对应着去许多不同的城市里程 #注:图像中确是一个品牌一个柱子,所有车型的均值

df_raw[['cty','manufacturer']].groupby('manufacturer').mean() #对数据进行排序 df.sort_values('cty',inplace=True) df

在这里插入图片描述 在这里插入图片描述

df.reset_index(inplace=True) #将dataframe中的索引恢复到0到n,将文本的原有索引特征恢复成普通的特征

在这里插入图片描述

#绘制图像 plt.figure(figsize=(16,10)) plt.vlines(x=df.index,ymin=0,ymax=df.cty,color='firebrick',alpha=0.7,linewidth=20)

在这里插入图片描述

fig,ax =plt.subplots(figsize=(10,6),facecolor='white',dpi=80) ax.vlines(x=df.index,ymin=0,ymax=df.cty,color='firebrick',alpha=0.7,linewidth=10); #没有画布后续将无法显示 #text函数一次只能只能为一个柱子添加注释,因此需要循坏 for i,cty in enumerate(df.cty): ax.text(i,cty+0.5#注释所有的横纵坐标 ,round(cty,1) #b保留一位小数 , horizontalalignment='center'#相对于我们规定的x和y坐标,文字显示在什么地方 ) #######装饰图像##################### ax.set_title('城市里程柱状图',fontdict={'size':22})#font字体 ax.set(ylabel='城市里程/加仑',ylim=(0,30)) ax.set_ylabel('城市里程/加仑',fontdict={'size':16}) ############# plt.xticks(df.index #显示在横坐标上的位置, ,df.manufacturer.str.upper() ,rotation=60 ,horizontalalignment='right')

在这里插入图片描述

##patches.Rectangle #add_artist fig,ax =plt.subplots(figsize=(10,6),facecolor='white',dpi=80) ax.vlines(x=df.index,ymin=0,ymax=df.cty,color='firebrick',alpha=0.7,linewidth=10); #没有画布后续将无法显示 #text函数一次只能只能为一个柱子添加注释,因此需要循坏 for i,cty in enumerate(df.cty): ax.text(i,cty+0.5#注释所有的横纵坐标 ,round(cty,1) #b保留一位小数 , horizontalalignment='center'#相对于我们规定的x和y坐标,文字显示在什么地方 ) #######装饰图像##################### ax.set_title('城市里程柱状图',fontdict={'size':22})#font字体 ax.set(ylabel='城市里程/加仑',ylim=(0,30)) ax.set_ylabel('城市里程/加仑',fontdict={'size':16}) #############plt的功能更多 plt.xticks(df.index #显示在横坐标上的位置, ,df.manufacturer.str.upper() ,rotation=60 ,horizontalalignment='right' ,fontsize=12); ###############构建长方形###### p1=patches.Rectangle((0.57,-0.005) #长方形所在位置的左下角的坐标,长方形在哪个位置 ,width=.33 #长方形的宽(与x轴平行的那一段) ,height=.13 #长方形的高 ,alpha=.1#透明度 ,facecolor='green'#矩阵的颜色 ,transform=fig.transFigure #确保在图像 上方不被子图所遮挡 ) p2=patches.Rectangle((.124,-0.005) #长方形所在位置的左下角的坐标,长方形在哪个位置 ,width=.446 #长方形的宽(与x轴平行的那一段) ,height=.13 #长方形的高 ,alpha=.1#透明度 ,facecolor='red'#矩阵的颜色 ,transform=fig.transFigure #确保在图像 上方不被子图所遮挡 ) fig.add_artist(p1) #将多变形添加到子图的fig(画布) fig.add_artist(p2) #将多变形添加到子图的fig(画布) plt.show()

在这里插入图片描述绘制图像的Rectangle参照的位置几乎是fig的大小,fig的左下角为(0,0),宽和高的位置依赖于画布设置的比列,画布的最宽的地方和最高的地方分别为1 我们可以通过控制从(0,0)开始,长宽都为一的长方体来探索长方体的大小

#add_patch#只对子图有效


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3