matplotlib查漏补缺

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
#用于处理时间数据

常用参数

参数 调整部分 示例
s 点的面积 s=100
c 颜色 c=‘r’
maker 点的形状 maker=’<’
alpha 透明度 alpha=0.5

常用图

代码 独有参数
散点图 plt.scatter(x,y)
折线图 plt.plot(x,y)
条形图 plt.bar(left,height) width设置宽度;orientation=‘horizontal’默认为‘vertical,水平时plt.bar(left=0, bottom=index, width=y,height=0.5,orientation=‘horizontal’)
横向的条形图 plt.barh(bottom,width)
直方图 plt.hist(data) bins表示每个长方形的宽,也可传入一个数组标准柱子对应的下标;normed=True表示对数据进行标准化(纵坐标则变为频率);用orientation='horizontal’调整水平
双变量直方图 plt.hist2D(x,y) 如直方图
饼状图 plt.pie(x,labels) autopc=’%.1f%%'格式化百分比字符串;explode=[列表元素表示每个块离圆心的距离];plt.axes(aspect=1)加在前,画出的是xy轴1比1的正圆;shadow=True表示有阴影
箱线图 plt.boxplot(x,labels) sym='o’表示异常点的形状为圆形;whis异常值界限

画多列的条形图

left=index+bar_width

index=np.arange(4)

sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]

bar_width=0.3

plt.bar(index,sales_BJ,bar_width,color='b')
plt.bar(index+bar_width,sales_SH,bar_width,color='r')
plt.show()

在这里插入图片描述

层叠图

bottom=上一列数的顶端

plt.bar(index,sales_BJ,bar_width,color='b')
plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ)
plt.show()

在这里插入图片描述

有重点的饼图


labels = 'A', 'B', 'C', 'D'
fracs = [15, 30, 45, 10]
plt.axes(aspect=1)##xy轴的比例
explode = (0, 0.2, 0, 0)
plt.pie(fracs, explode=explode, labels=labels, autopct='%.0f%%', shadow=True)
plt.show()

在这里插入图片描述

坐标为时间的图

  1. 用np.loadtxt导入数据时,添加参数converters={0:mdates.bytespdate2num(’%m/%d/%Y’)}#0表示第几列设为时间,mdates 为import matplotlib.dates as mdates
    此时时间数据转化为浮点数,画图用plt.plot_date(date , y ),默认是散点图,可用linestyle=’-'调整线型

颜色和样式

color选择 示例
八种默认缩写 b(bllue),g(green),r(red),c(cyan),m(magenta),y(yellow),k(black),w(white)
灰色阴影 color=‘数字’
html十六进制 color=‘#FFOOFF’ 颜色代码
RGB元组 color=(1,2,3)
maker选择 样式
‘.’ point
‘,’ pixel
‘o’ circle
‘v’ triangle_down
‘^’ triangle_up

若不加**maker=**则只有点,没有线

线型 代码
实线 ‘-‘
虚线 ‘–’
点划线 ‘-.’
点线 ‘:’

样式字符串:颜色点型线型,如‘ro–’表示红色圆点虚线

用面向对象的方式

matplotlib对象 简介
FigureCanvas 画布
Figure
Axes 在Figure上生成的坐标轴,实际画图的地方

画子图

方法一:用面向对象的方式

  1. fig=plt.figure() #生成一个一个Figrue实例,即画图对象,可添加Axes实例
  2. ax=fig.add_subplot(111) #生成Axes实例,即一个坐标轴对象
    参数一:子图总函数
    参数二:子图总列数
    参数三:子图位置
import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,100)

fig=plt.figure()
ax1=fig.add_subplot(221)
ax1.plot(x,x)

ax2=fig.add_subplot(223)
ax2.plot(x,-x)

ax3=fig.add_subplot(122)
ax3.plot(x,x*x)

plt.show()

在这里插入图片描述

方法二: 用pyplot中简单的函数画子图(可交互)
用plt.subplot(111)#参数一:子图总函数;参数二:子图总列数;参数三:子图位置

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,100)
plt.subplot(221)
plt.plot(x,x)

plt.subplot(223)
plt.plot(x,-x)

plt.subplot(122)
plt.plot(x,x*x)
plt.show()

在这里插入图片描述

生成多张图

区别于一张图生成多个子图
fig1=plt.figure()
fig2=plt.figure()
生成多个plt.figure()实例

x=np.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值