1、
import matplotlib.pyplot as plt
Function | Description |
---|---|
plt.figure(figsize,dpi,facecolor,edgecolor,frameon) |
Create a new figure: figsize(宽度,高度,单位:英寸),默认rcParams[figure.figsize]:[6.4,4.8];确保图片有一个确定的大小以及存储到硬盘时的长宽比; dpi:图的分辨率,整数,默认rcParams[figure.dpi]: 100; facecolor:背景颜色,默认rcParams[figure.facecolor]:'w'; edgecolor:边框颜色,默认rcParams[figure.facecolor]:'w'; frameon:bool,默认True,若False则禁止绘制图形框; return:Figure |
plt.subplot() |
在当前图形上添加子图: |
plt.subplots(nrows,ncols,sharex,sharey,subplot_kw) |
创建一个图和一组子图: nrows:子图的行数;ncols:子图的列数; sharex:所有子图使用相同的x轴刻度,调整xlim会影响所有子图; sharey:所有子图使用相同的y轴刻度,调整ylim会影响所有子图; subplot_kw:传入add_subplot的关键字参数字典,用于生成子图; |
plt.subplots_adjust(left=None, bottom=None, right=None,top=None, wspace=None, hspace=None) |
调整子图布局: wspace和hspace分别控制图片的宽度和高度百分比,用作子图间的间距; |
plt.xlabel(xlabel)、plt.ylabel(ylabel) |
设置x轴、y轴标签: xlabel:str,标签文本; ylabel:str,标签文本; |
plt.xticks(ticks,labels,rotation) |
获取或设置当前x轴的当前刻度位置和标签: ticks:刻度,xtick位置列表; labels:标签,放置在给定刻度线位置的标签; rotation:刻度旋转的角度; return:x刻度位置列表、xlabel Text对象列表; |
plt.yticks(ticks,labels) |
获取或设置当前y轴的当前刻度位置和标签: ticks:刻度,ytick位置列表; labels:标签,放置在给定刻度线位置的标签; return:y刻度位置列表、ylabel Text对象列表; |
plt.xlim()、plt.ylim() |
获取或设置当前轴的x极限、y极限: return:新x轴极限的元组 |
plt.xscale(value) |
设置x轴比例: value:{“ linear”,“ log”,“ symlog”,“ logit”,...}要应用的轴比例类型; |
plt.title(label,loc) |
设置标题: label:标题文本;loc:{'center', 'left', 'right'},默认center |
plt.text() | 向轴添加文本: |
plt.annotate() | 用文本text注释点xy: |
plt.arrow() | 向轴添加箭头: |
plt.figtext() | 在图上添加文本: |
plt.imsave() | 将数组另存为图像文件: |
plt.draw() | 重画当前图形: |
plt.legend(loc) |
绘制图例: loc:best、upper right、upper left、lower left、lower right、right、center left、center right、lower center、upper center、center; |
plt.vlines() | 绘制垂直线 |
plt.rc() | 设置当前的rc参数: |
plt.savefig() | 保存当前图形: |
plt.grid() | 绘制网格线: |
plt.show() |
显示所有图形: |
plt.close() | 关闭图形窗口: |
2、绘图
Function | Description |
---|---|
plt.plot() | 绘制折线图: |
plt.scatter() | 绘制散点图: |
plt.pie() | 绘制饼图: |
plt.hist(x,bins,) |
绘制直方图:
|
plt.bar(x,height,width=0.8,bottom,aligh='center') |
绘制条形图: x:条形的x座标; width:条的宽度,默认0.8;height:条高; left:条形图底的y座标; aligh:{'center','edge'},默认:'center',基准与x座标对齐; |
plt.barh(y,width,height=0.8,left,aligh='center') |
绘制水平条形图: y:条形的y座标; width:条的宽度;height:条高; left:条形图左侧的x座标; aligh:{'center','edge'},默认:'center',基准与y座标对齐; |
plt.box() | |
plt.boxplot(x,) | 绘制盒图: |
plt.violinplot() | 绘制小提琴图: |
3、绘图实例:
(1)简单图形
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
unrate=pd.read_csv("UNRATE.csv")
unrate["MONTH"]=unrate["DATE"].dt.month
fig=plt.figure(figsize=(8,5),dpi=80)
colors=["red","cyan","yellow","blue","black"]
for i in range(len(colors)):
plt.plot(unrate[12*i:12*(i+1)]["MONTH"],unrate[12*i:12*(i+1)]["VALUE"],c=colors[i],label=str(1948+i))
plt.legend(loc="best")
plt.xlabel('Month, Integer')
plt.ylabel('Unemployment Rate, Percent')
plt.title('Monthly Unemployment Trends, 1948-1952')
plt.savefig("month-rate.png")
plt.show()
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
unrate=pd.read_csv("UNRATE.csv")
unrate["MONTH"]=unrate["DATE"].dt.month
fig=plt.figure(figsize=(8,5),dpi=80)
colors=["red","cyan","yellow","blue","black"]
for i in range(len(colors)):
plt.plot(unrate[12*i:12*(i+1)]["MONTH"],unrate[12*i:12*(i+1)]["VALUE"],c=colors[i],label=str(1948+i))
plt.legend(loc="best")
plt.xlabel('Month, Integer')
plt.ylabel('Unemployment Rate, Percent')
plt.title('Monthly Unemployment Trends, 1948-1952')
plt.savefig("month-rate.png")
plt.show()
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0,2.0,0.01)
s = 1+np.sin(2*np.pi*t)
fig,ax = plt.subplots()
ax.plot(t,s)
ax.set(xlabel='time (s)', ylabel='voltage (mV)',
title='About as simple as it gets, folks')
ax.grid()
fig.savefig("test.png")
plt.show()
(2)子图
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax4 = fig.add_subplot(2,2,4)