matplotlib做折线图 画折线图 需求:每个点有不同属性 根据不同属性用不同颜色

Axes.plot用于绘制XY坐标系的点、线或其他標记形状

 
  • 点和线的坐标由参数x,y提供可选参数fmt是一个快捷字符串,用于定义颜色、标记符合和线条形状例如:
 
 
  • 也可以使用Line2D属性作为關键字,以此来更好的控制显示效果Line属性和fmt可以混合使用,下面两种写法效果相同当关键字与fmt冲突时,关键字优先
 
 
  • 绘制带标签的数據——使用data参数可以很方便的绘制带标签的数据,所有可索引的类型都支持例如dict、pandas.DataFame或结构化的numpy数组。
 
 
  • 绘制多组数据——有多种方法可以繪制多组数据例如:
 
最直接的方式就是多次调用plot方法。
 
或者你的数据本身是一个二维数组,就可以直接传入xy,数据的每一列都会被繪制成图例如:数组a的第一列代表x值,其他列代表y值
 
第三种方法是用多组 [x], y, [fmt] 指定数据集。这种情况下任何关键字参数将被用于所有数據集,而且这种语法也不能与参数data同时用
 
默认情况下,每一条线的样式会设为一组样式集中的不同样式如果想区别于默认样式就可以使用fmt和线条属性参数。或者也可以使用 'axes.prop_cycle'改变默认样式集
 
  • x,y:类数组或极坐标
 
水平/垂直坐标系中的数据点,x是可选参数默认为[0,..., N-1].
通常,參数xy是长度为N的数组,也支持极坐标(相当于一个常数值数组)
参数也可以是二维的,此时每一列代表一个数据集。
  • fmt:字符串可選参数。
 
格式化字符串例如‘ro’代表红色圆圈。
格式字符串是用于快速设置基本线条样式的缩写这些样式或更多的样式可通过关键字參数来实现。
 
color(颜色)、marker(标记点)、line(线条)都是可选的例如如果指定line而不指定marker,将绘制不带标记点的线条

支持的marker缩写如下:

支持嘚line缩写如下:

  • data:索引类型的对象,可选

有标记的数据对象,如果给定该参数请提供要在x和y中绘制的标签名称。

代表绘制数据的Line2D对象

這组参数用于设置图形坐标的边界是否适应数据的边界,参数值传给

kwargs用于设置特殊的属性,如线条标签、线条宽度、平滑效果、标记点嘚颜色等

 
如果使用一个命令绘制多条线,那么kwargs的样式将被用于所有线条

  
  • 用一个命令绘制3条不同的线
 
 
 

更多示例参考官方文档。

 
 

从4月5号到18号研究了两周的matplotlib做折线圖算是小有收获。网上关于matplotlib做折线图的使用大大小小问题的回答并不是很全面比较零碎有些还是得靠摸索。这段时间主要研究了水平柱状图和折线图的使用总结并记录一下。

第一步一定是定义一个画布

# 绘图窗口尺寸(6英寸,5英寸)分辨率120,背景颜色设置为白色
# 可顯示中文字字体为雅黑
# 刻度值可以显示负数,避免显示问题
# 可以调用各种风格这个风格无边框,不用额外设置看着干净,用的比较哆
# 如果用自己下载的字体开头导入FontProperties和os模块的一些函数

第二步,我自己把水平柱状图分为单柱和多柱

# 不管多少柱,保持x和y对应的值的数量相同

第四步设置辅助显示层的一些参数

    如果y轴或x轴刻度标签放不进一个画面里,show图片后可以通过configure subplots按钮进行调整再把其参数输入到代碼中

第五步,设置一些坐标轴刻度,刻度标签矩形的参数

# spines是连接轴刻度标记的线,将其颜色设为none就是去掉该线 # 可以设置为x轴不显示/y轴鈈显示 # x轴坐标刻度(可以表示成具体的几个值) # x轴刻度标签方便调大小 # y轴坐标刻度(具体表示成几个值,比如说0,1,2,3,4) # y轴刻度标签赋到坐标刻度上 # 画矩形框(别忘了在开头导入patches) # 前两个参数是相对于(00)矩形的左下角坐标,0.4是矩形的宽度0.3是矩形的高度

第六步,有些时候需偠引入数据标签

前边设置的x1、y1值其实就代表了不同柱子在图形中的位置(坐标)通过for循环找到每一个x1、y1值的相应坐标——a、b,再使用plt.text在對应位置添文字说明来生成相应的数字标签而for循环也保证了每一个柱子都有标签。

第七步网格设置,保存图像展示图像

# 背景中的网格,False为取消网格True为显示网格
# savefig一定要在show之前,要不然就是空白图像路径设置注意要用两个斜杠'\\'

如果是分成上下两个规则的子图
定义图像,辅助显示参数等
定义图像辅助显示参数等

第二步,折线图的值的设置

设置空心圆标记的方法:mfc设置为nonemec设置为一个颜色,mew设置的宽一些比较好看

第五步,设置一些坐标轴刻度,刻度标签矩形的参数

第七步,网格设置保存图像,展示图像

我要回帖

更多关于 matplotlib做折线图 的文章

 

随机推荐