1. 折线图:plt.plot
- 设置数据:plt.plot(x,y),单列数据传入默认y轴,此时x轴数据默认从0逐渐对应递增
- 设置颜色:plt.plot(x,y,color/c=" "),RGB颜色列表为:xkcd.com/color/rgb/
- 设置数据点的形状:plt.plot(x,y,marker=" "), 符号参考: matplotlib.org/api/markers…
- 设置连接线风格:plt.plot(x,y,linestyle/ls=" ")
- '-' or 'solid' ——solid line
- '--' or 'dashed' ——dashed line
- '-.' or 'dashdot' ——dash-dotted line
- ':' or 'dotted' ——dotted line
- 'None'/' '/'' ——draw nothing
- 其它设置:线宽-linewidth/lw=n;点大小-markersize=m;透明度-alpha=m;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)
- 颜色点线同时设置:"ro-"
- 同时绘制多条线:plt.plot(x1,y1,"ro",x2,y2,"b0")
2. 散点图:plt.scattor
- 设置数据:plt.scatter(x,y),必须传入x,y
- 设置点的大小:plt.scatter(x,y,s),s为入一维数组,表示点的大小,默认统一为20
- 设置颜色:
- 可以用c='X'设置单个颜色,
- 也可以用'c=seq'使得序列中对应位置数字相同的点颜色相同,此时可以用cmap='XXX'来设置颜色模式。如下图,第一个第三个点数字相同,则颜色相同
- 或者直接c=['r','b'...]来设置不同颜色
- cmap可使用的颜色模式参考链接: matplotlib.org/examples/co…
- 设置数据点的形状:同plot
- 其它设置:线宽-linewidth/lw=n;点大小-markersize=m;透明度-alpha=m;边缘颜色-edgecolor=X;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)
3. 柱状图:plt.bar
- 设置数据:plt.bar(x,y),必须同时传入x,y,x表示各个柱的位置,y表示高度
- 设置柱形宽度:plt.bar(x,y,width),width设置宽度,默认0.8
- 设置颜色:可以用color/facecolor='X'设置单个颜色,也可以用'color=['r','b'...]'设置多个颜色。颜色参考:xkcd.com/color/rgb/
- 其它设置:线宽-linewidth/lw=n;透明度-alpha=m;边缘颜色-edgecolor=X;基座高度-bottom=0.2;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)
4. 直方图:plt.hist
- 设置数据:plt.hist(x,bins),必须传入x,y,x为数据;y为柱形个数,可以为'auto'
- 频数/频率图:density=True默认为频率/False频数
- 设置数据范围:range=(a,b),限定数据范围
- 柱子间隙:rwidth=n,默认为0
- 设置柱形宽度:plt.bar(x,y,width),width设置宽度,默认0.8
- 设置颜色:可以用color/facecolor='X'设置单个颜色。颜色参考:xkcd.com/color/rgb/
- 其它尺寸:线宽-linewidth/lw=n;透明度-alpha=m;边缘颜色-edgecolor=X;label='XXX'用于设置标签(必须使用plt.legend(loc="upper left")来显示标签)
5. 箱线图:plt.boxplot
- 设置数据:plt.boxplot(x) ,x为多列数据-[列1,列2...]
- 设置箱型:plt.boxplot(x,notch=),notch默认为false,长方形;False是指在50%位显示缺口,缺口越大,数*据越分散
- 设置横向纵向:plt.boxplot(x,vert=),vert默认True,垂直状态;False显示横向
- 设置最大最小值:plt.boxplot(x,whis=[n,m]),whis=[25,85],表示限度在25%到85%之间,即顶端横线的位置
- 设置箱体宽度:widths=
- 设置箱体填充:patch_artist=True
- 设置各箱型名称:labels=[1,2,3...]
- 每个箱型填充不同颜色:需遍历填充,bplot[boxes]取到各个箱型,遍历填充
6. 其它设置
- 设置坐标轴范围:plt.axis([xmin, xmax, ymin, ymax]) ,四个参数必须同时包括
- 设置xy坐标轴名称:plt.x/ylabel("XXX")
- 设置图表标题:plt.title("XXX")
- 显示网格:plt.grid(True)
- 同一张子图上绘制:plt.plot(ax=ax1))
- 直接用dataframe绘图:df.plot(x=,y=,kind=,label=)
- 对某点设置注释:plt.annotate('注释内容',xy=(被标注点坐标),xytext=(内容文本坐标),arrowprops= dict(width=箭头方块宽度, headwidth=箭头尖宽度, headlength=箭头尖长度, shrink=收缩比例,越大越短, facecolor=箭头颜色 ))
7. 绘图步骤
- 设置画板:
plt.figure( num-画板编号,默认逐渐递增;
figsize(a,b)-画板尺寸;
dpi分辨率,默认100; facecolor-背景颜色,默认白;
edgecolor-边框颜色,默认白;
frameon=True是否显示绘图框, clear=False是否清楚已存在的同名图)
- 设置单个子图:ax1=plt.subplot(221),ax2=plt.subplot(222)
- sharex/y=True表示所有子图使用相同的x/y刻度
- 同时创建多个子图:axes/((ax1,ax2),(ax3,ax4))=plt.subplots(2,1,sharex=True),axes[0,1]...
- 任意位置绘图:ax1 = fig.add_axes([left, bottom, width, height],),left, bottom表示位于画板的百分之几位置;width, height表示宽高占画板的多少
- 子图设置标题,标签:ax1.set_title("XXX");ax1.set_xlable() plt.subplot2grid式:
ax1=plt.subplot2grid((3, 3), (1, 0),colspan=2,rowspan=1)
表示设置一个3行3列的绘图区域,在第2行,第一列位置开始绘图,列跨度为2,行跨度为1
- GridSpec式:
import matplotlib.gridspec as gridspec
gs = gridspec.GridSpec(3, 3)
ax7 = plt.subplot(gs[1, :2]),表示子图占第2行和第3列前的所有列,
ax10 = plt.subplot(gs[-1, -2]),表示子图占倒数第1行和倒数第2列.
- 设置字体大小
ax = plt.subplot(111) 设置刻度字体大小:plt.xticks(fontsize=20);plt.yticks(fontsize=20) 设置坐标标签字体大小:ax.set_xlabel(..., fontsize=20);ax.set_ylabel(...,fontsize=20) 设置图例字体大小:ax.legend(..., fontsize=20)
关注公众号,更快获取最新信息。