http://matplotlib.org/examples/index.html
http://matplotlib.org/gallery.html
#导入模块
import matplotlib.pyplot as plt
import numpy as np
plt.plot([1,2,3],[5,7,4])#参数放入列表,三个坐标:1,5 2,7 3,4
plt.show()
%matplotlib inline#行内显示,这一句只能再jupyter中使用,pycharm好像用不了
# %matplotlib tk#GUI显示
figure:图形,matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片
代码:
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-3,3,0.1)
y1=np.sin(x)
y2=np.cos(x)
plt.figure()
plt.plot(x,y1)
plt.figure(num=3,figsize=(8,5))
plt.plot(x,y2)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-3,3,0.1)
y1=np.sin(x)
y2=np.cos(x)
#Plot():绘制线条或标记的轴。参数是一个可变长度参数,允许多个X、Y对可选的格式字符串
plt.plot(x,y1,x,y2)
plot(x,y,color='red', linestyle='dashed', marker='o'.....)
(1)LineStyle:线形
(2)LineWidth:线宽
(3)Color:颜色
(4)Marker:标记点的形状
(5)label:用于图例的标签
legend ():生成默认图例, matplotlib 中的 legend 图例就是为了帮我们展示出每个数据对应的图像名称. 更好的让读者认识到你的数据结构.
xlabel、ylabel:设置X轴Y轴标签
title:设置标题
xlim、ylim:控制图标的范围
xticks、yticks: 控制图标的刻度
gca获取当前坐标轴信息。使用spines设置边框,使用set_color设置边框颜色:默认白色
解决中文显示问题
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像
Sublots():返回一个图像和多个子图
参数: nrows=x, ncols=x, sharex=True, sharey=False,
gridspec_kw={‘height_ratios’:[2,2,1,1]}
例:
fig, ax = plt.subplots(2,2),其中参数分别代表子图的行数和列数,一共有 2x2 个图像。函数返回一个figure图像和一个子图ax的array列表。
subplot(numRows, numCols, plotNum)
fig = plt.figure()
Figure实例
可以添加Axes实例
ax = fig.add_subplot(111)
返回Axes实例
参数1,子图的总行数
参数2,子图的总列数
参数3,子图位置
在Figure上添加子图的常用方法
plt.savefit(文件名称)
matplotlib.pyplot. bar (*args, **kwargs)
bar(x, height, width, bottom, * args, align='center', **kwargs)
参数: x:数据标量 height:高 width:款 bottom:底端对应Y轴align:对齐如果为 "居中", 则将x参数解释为条形中心的坐标。如果 "边缘", 将条形按其左边缘对齐要对齐右边缘的条形图, 可传递负的宽度和对align='edge'
练习:
用柱状图表示第一季度的进出口数据
进口数据:
1月份 600亿美元
2月份 700亿美元
3月份 800亿美元
出口数据:
1月份 500亿美元
2月份 900亿美元
3月份 1000亿美元
matplotlib.pyplot.hist(
x,bins=10,range=None,normed=False,weights=None,cumulative=False,bottom=None,
histtype='bar', align='mid',orientation=u'vertical', rwidth=None, log=False,color=None, label=None,stacked=False,hold=None,**kwargs)
– x: 一个列表或者多个列表(表示不同数据集,长度可以不一致)
– range: 元组
– weights: x里每个元素对bin高度的贡献(默认为1)
– bottom: 数字或者长度为bins的列表
– histtype: [‘bar’ | ‘barstacked’ | ‘step’ | ‘stepfilled’]
– align: [‘left’ | ‘mid’ | ‘right’]
– orientation: [‘horizontal’ | ‘vertical’]
– rwidth: bar相对bin的宽度
– color: 一种颜色或者颜色列表(针对不同数据集)
matplotlib.pyplot. scatter (x, y, s=none, c=none, marker=none, cmap= None,
norm=none, vmin=none, vmax=none, alpha=none, Linewidths=none,
verts=none, edgecolors=none, hold=none, data= None, **kwargs)
参数:
x,y:相同长度的数组序列
s :散点的大小标量或形同数组,可选参数,默认20
c :散点的色彩或颜色序列,可选
maker:标记风格,可选,默认是‘o’
norm:数据的亮度
alpha:散点的透明度