matplotlib可以绘制哪些图形,matplotlib线条样式

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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