多语言展示
当前在线:674今日阅读:113今日分享:31

python用matplotlib绘制散点图、直方图、箱形图

python是目前使用最广泛的编程语言,因为目前正处于大数据时代;目前大数据中可视化技术至关重要,而python的matplotlib是最主要的可视化库,下面看看如何绘制散点图、直方图和箱形图,及修改图表属性的函数setp
工具/原料
1

anaconda,spyder,python3,matplotlib,numpy,pyplot

2

random,standard_normal,len,grid,axis,xlabel,ylabel,title,figure,legend,subplots,scatter,randint,hist,colorbar,marker,setp,boxplot

方法/步骤
1

加载numpy和matplotlib.pyplot。y=np.random.standard_normal((600,2))表示随机生成一个标准正态分布形状是600*2的数组,如图所示

2

绘制散点图(使用plot)。plt.figure(figsize=(8,5))表示绘制图形的画板尺寸为8*5;plt.plot(y[:,0],y[:,1],'ro')表示绘制散点图,且为红色圆标记;plt.grid(True)表示图形添加网格;plt.xlabel('1st')表示给X轴加标签‘1st’;plt.ylabel('2nd')表示给Y轴加标签‘2nd’;plt.title('Scatter Plot')表示给图形加标题‘Scatter Plot’;如图所示

3

绘制散点图(使用scatter)。plt.scatter(y[:,0],y[:,1],marker='o')替代了上面的plt.plot(y[:,0],y[:,1],'ro'),则绘图效果类似,其中marker='o'表示圆标记;如果再加上参数c='r',修改颜色后,完全等价于上图;如图所示

4

绘制散点图(色彩可视化)。c=np.random.randint(0,10,len(y))表示随机生成一个第三维度的数据集,取值在0-10之间的整数;plt.scatter(y[:,0],y[:,1],c=c,marker='o')表示颜色数据来源于第三维度的c;plt.colorbar()表示添加彩条;如图所示

5

两个数据集的直方图。plt.figure(figsize=(8,5))表示绘图画板尺寸为8*5;plt.hist(y, bins=30, label=['1st','2nd'])表示使用y绘制直方图,数据组数有30个,标签分别使用'1st'和'2nd';plt.grid(True)表示添加网格;plt.legend(loc=0)表示最佳位置显示图例;plt.xlabel('Value')表示X轴标签为‘Value’;plt.ylabel('Frequency')表示Y轴标签为‘Frequency’;plt.title('Histogram')表示标题为‘Histogram’;如图所示

7

两个数据集的箱形图。fig,ax=plt.subplots(figsize=(8,5))表示画板尺寸的设置为8*5;plt.boxplot(y)表示用y绘制箱形图;plt.grid(True)表示添加网格;plt.setp(ax,xticklabels=['1st','2nd'])表示刻度值标签设置为'1st'和'2nd';plt.xlabel('var')表示X轴标签为'var';plt.ylabel('value')表示Y轴标签为'value';plt.title('Boxplot')表示标题为'Boxplot';如图所示

8

用setp函数来修改图表属性。plt.figure(figsize=(8,5))表示画板尺寸设置;line=plt.plot(y,'r')表示绘制红色的折线图;plt.setp(line,linestyle='--')修改线条为虚线;如图所示

注意事项
1

plt.plot和scatter可以等效使用,注意参数的不同意义即可

2

hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, normed=None, hold=None, data=None, **kwargs)参数解释:x:列表或ndarray对象;bins:数据组数;range:数据组的下界和上界;normed:规范化为整数1;weights:x轴上每个值的权重;cumulative:每个数据组包含较低组别的计数;histtype:bar、barstacked、step、stepfilled;align:left、mid、right;orientation:horizontal、vertical;rwidth:条块的相对宽度;log:对数刻度;color:每个数据集的颜色;label:标签所用的字符串(序列);stacked:堆叠多个数据集;kwargs :关键字参数

3

设置图表属性使用函数setp

推荐信息