python的matplotlib二维数据绘图

作者:小橘猫 | 创建时间: 2023-04-05
python是目前使用最广泛的编程语言,因为目前正处于大数据时代;目前大数据中可视化技术至关重要,而python的matplotlib是最主要的可视化库,下面看看二维数据的绘图...
python的matplotlib二维数据绘图

操作方法

加载numpy和matplotlib的pyplot。 np.random.seed(888)设置一个种子888;np.random.standard_normal((18,2)).cumsum(axis=0)表示随机生成18*2个标准正态分布数据的按列求累计和,如图所示

绘制二维图表。 plt.figure(figsize=(8,5))表示绘图的画板尺寸为8*5;plt.plot(y,lw=2)表示绘图线条宽度为2;plt.plot(y,'ro')表示绘图的点为红色圆标记;plt.grid(True)表示图形添加网格;plt.axis('tight')表示使用紧凑的坐标轴;plt.xlabel('var')表示给X轴添加标签‘var’; plt.ylabel('value')表示给Y轴添加标签‘value’;plt.title('A Simple Plot') 表示给图形添加标题‘A Simple Plot’;如图所示

绘制带有图例的二维图表。 将上面的plt.plot(y,lw=2)修改为下面的plt.plot(y[:,0],lw=2,label='1st')、plt.plot(y[:,1],lw=2,label='2nd')表示分别绘制2条折线图(目的是分别打一个标记),并且添加plt.legend(loc=0)表示按最佳位置显示图例;如图所示

数量级相差很大的二维图表。 y[:,0]=y[:,0]*888表示修改第一个数据,扩大888倍;后面沿用上面设置不变,发现另一条线几乎成为一条直线(可视化效果很糟糕);如图所示

使用双坐标轴解决数量级相差较大的二维图表。 fig,ax1=plt.subplots()、ax2=ax1.twinx()表示2个图共用X轴,Y轴左侧表示第一个数据,Y轴右侧表示第二个数据,有2个图例;如图所示

使用单独的2个子图解决数量级相差较大的二维图表。 plt.subplot(211)、plt.subplot(212)分别表示子图1和子图2;如图所示

绘制组合图形。 如果想绘制左边是折线图,右边是条形图的组合图形,怎么完成? plt.subplot(121)表示生成一个1行2列的子图1;plt.subplot(122)表示生成一个1行2列的子图2;plt.barh(range(len(y)),y[:,1], align='center', alpha=0.4,color='g',label='2nd')表示生成一个条形图;如图所示

温馨提示

legend的选项:空白(自动),0(最佳),1(右上),2(左上),3(左下),4(右下),5(右),6(中左),7(中右),8(中下),9(中上),10(中)
alpha 表示透明度,0表示全透明,1表示完全不透明。center以 y 轴作为中心
点击展开全文

更多推荐