在matplotlib上如何输出中文的一般步骤:
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False
设置colormap的一般写法:
cm_light = mpl.colors.ListedColormap(['#A0FFA0', '#FFA0A0', '#A0A0FF'])
cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])
创建一个图形实例:
plt.figure(facecolor='w')
原函数:
def figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)
num:如果此参数没有提供,则一个新的figure对象将被创建,同时增加figure的计数数值,此数值被保存在figure对象的一个数字属性当中。如果有此参数,且存在对应id的figure对象,则激活对于id的figure对象。如果对应id的figur对象不存在,则创建它并返回它。如果num的值是字符串,则将窗口标题设置为此字符串。
figsize:以英寸为单位的宽高
dpi:图形分辨率
facecolor:背景色
edgecolor:边框颜色
frameon:默认值True为绘制边框,如果为False则不绘制边框,可以理解为frame:on
clear:重建figure实例
为决策树画背景色:
plt.pcolormesh(x1, x2, y_show_hat, cmap=cm_light) # 预测值的显示
其中x1, x2, y_show_hat维度要一样, y_show_hat中的类别数量要和cm_light数量一样
plt.scatter(x_test[:, 0], x_test[:, 1], c=y_test.ravel(), edgecolors='k', s=120, cmap=cm_dark, marker='*')
画散点图
函数原型:
def 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都是数据点向量,长度必须相同
c为标记颜色,如果是RGB 三元数或颜色名称 -就使用相同的颜色绘制所有标记。 'red' 或 'r'红色,'black或k'表示黑色。如果散点图中有三个点,并且您希望这些颜色成为颜色图的索引,请以三元素列向量的形式指定 c。
marker为标记样式,都有'o'圆圈, '+'十字,'*'星号,'.'点,'s'方形, 'd'菱形,'p'五角星,'h'六角星,'<>^'上下左右方向键头
edgecolors:标记的轮廓颜色,和c类似,参数也相同
alpha为透明度,[0,1]0为透明,1为不透明
plt.plot(x,y,format_string,**kwargs)
x轴数据,y轴数据,format_string控制曲线的格式字串
format_string 由颜色字符,风格字符,和标记字符
plt.plot(depth, err_list, 'ro-', lw=2)
函数表示红色线,圆圈标记数据点,实线相连
subplot(numRows, numCols, plotNum)
表示分成rows行,cols列,按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1,当前使用第plot个,如果numRows,numCols和plotNum这三个数都小于10的话,可以把它们缩写为一个整数,例如subplot(323)和subplot(3,2,3)是相同的。
matplotlin.pyplot.grid(b, which, axis, color, linestyle, linewidth, **kwargs)
绘制网格线
b : 布尔值。就是是否显示网格线的意思
axis : 取值为‘both’, ‘x’,‘y’,就是想绘制哪个方向的网格线
color : 设置网格线的颜色。或者直接用c来代替color也可以。
linestyle :也可以用ls来代替linestyle, 设置网格线的风格,是连续实线,虚线或者其它不同的线
linewidth : 设置网格线的宽度