matplotlib可以绘制哪些图形,matplotlib线条样式
本文主要详细介绍了利用Matplotlib绘制条形图的方法。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能给你带来帮助。br。
00-1010 I .一般条形图示例:II .水平条形图示例:III。分组条形图的绘制。堆积条形图的绘图示例:摘要导入数量作为np
进口熊猫作为pd
将matplotlib.pyplot作为plt导入
从matplotlib导入font_manager
目录
一般使用pyplot.bar()函数绘制条形图,其形式和参数如下:
matplotlib.pyplot.bar(x,height,width=0.8,bottom=None,*,align=center ,data=None,**kwargs)
主要参数说明:
# x:表示要绘制的条形图的X轴坐标点的数组或列表。
# height:表示要绘制的条形图的Y轴坐标点的数组或列表。
# width:每个条形图的宽度,默认为0.8。
# bottom:Y轴的基线,默认为0,即距底部0。
# align: alignment,{center , edge},默认为居中,居中对齐;根据正宽度或负宽度,边缘与侧面对齐,特别是向右或向左对齐。
# color:条形图的颜色。
# edgecolor :条形图边框的颜色。
# linewidth :条形图边框的宽度。如果为0,则不绘制边框。
一、一般条形图
某天电影票房数据:
电影={
流浪地球 :40.78,
飞行生活 336015.77,
疯狂的外星人336020.83,
新喜剧之王33606.10,
完整性 33601.10,
蒲松龄侦探33601.49,
小猪佩奇已经过了新年33601.22,
熊出没,原始时代 33606.71
}
通过直接获得字典的键值作为X和Y轴数据
#票房单位亿元
电影={
流浪地球 :40.78,
飞行生活 336015.77,
疯狂的外星人336020.83,
新喜剧之王33606.10,
完整性 33601.10,
蒲松龄侦探33601.49,
小猪佩奇已经过了新年33601.22,
熊出没,原始时代 33606.71
}
#中文显示问题
PLT . RC params[ font . sans-serif ]=[ sim hei ]
PLT . RC params[ axes . unicode _ MINUS ]=False
plt.rcParams[font.size]=13
#设置图形大小
plt.figure(figsize=(15,8))
X=list(movies.keys()) #获取X轴数据(字典的键)
Y=list(movies.values()) #获取Y轴数据(字典值)
plt.bar(x,y,width=0.5,bottom=0,align=edge ,color=g ,edgecolor=r ,linewidth=2)
#画出标题
Plt.title(电影票房数据,size=26)
#设置轴标签
Plt.xlabel(电影名称,size=28)
Plt.ylabel(票房/十亿,大小=28)
plt.show()
您还可以使用字典来创建DataFrame索引,该索引是通过data参数传入的。
"brush:py;">#票房单位亿元
movies = {
"流浪地球":40.78,
"飞驰人生":15.77,
"疯狂的外星人":20.83,
"新喜剧之王":6.10,
"廉政风云":1.10,
"神探蒲松龄":1.49,
"小猪佩奇过大年":1.22,
"熊出没·原始时代":6.71
}
movies_df = pd.DataFrame(data={"name":list(movies.keys()),"tickes":list(movies.values())}) #通过字典创建DataFrame索引
font = font_manager.FontProperties(fname=C:WindowsFontsSTSONG.TTF,size=12) # 使用font_manager模块设置中文
# 设置图的大小,传入x,y
plt.figure(figsize=(14,5))
# 使用plt.bar()绘制条形图
plt.bar("name","tickes",data=movies_df,width=0.5,bottom=0,align=edge,color=g,edgecolor =r,linewidth=2)
#设置X轴刻度,设置字体,也可以设置字体大小size
plt.xticks(fontproperties=font)
# 设置标题
plt.title("电影票房数据",size=30)
#设置X,Y轴名字
plt.ylabel(票房,fontproperties=font,size=25)
plt.xlabel(影片名字,fontproperties=font,size=25)
#设置Y刻度
plt.yticks(range(0,50,5),["%d"%x for x in range(0,50,5)],fontproperties=font1,size=20)
# 只保留图形信息
plt.show()
二、横向条形图
横向条形图需要使用barh()
这个跟bar非常的类似,只不过把方向进行旋转。参数也和pyplot.bar()
类似
matplotlib.pyplot.barh(y, width, height=0.8, left=None, *, align=center, **kwargs)
# 主要参数解释:
示例:
plt.barh()
movies = {
Axes.barh(y, width, height=0.8, left=None, *, align=center, **kwargs)
另外,还可通过返回的axes对象绘制图形
movies = {
三、分组条形图的绘制
五天的电影票房数据(假设日期为1.1-1.5):并转换为DataFrame索引
movies = {
绘制分组条形图思路:先选出每天所有电影的票房数据,可使用DataFrame.iloc[]
方法获取,例如
# 获取第一天票房数据
流浪地球 2.01
然后按天进行绘制,这里需要确定一个中心点作为中间日期的条形图位置(这里为第三天),有多少部电影就需要多少个中心点,可使用np.arange(len(movies))
获取x轴刻度作为中心点。最后根据日期按条形图的宽度调整条形图位置即可。
plt.figure(figsize=(15,5))
使用循环绘制每日数据
plt.figure(figsize=(16,5))
四、堆叠条形图绘制
堆叠条形图就是在已有数据基础位置上进行绘制图形,使用bottom
参数,以已有数据作为新数据的基地进行新数据的绘制,可以达到调整条形图的位置的目的。
示例:
# 男女不同组别的等分情况
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。