Matplotlib基础02:散点图、折线图与柱状图

Matplotlib基础02:散点图、折线图与柱状图

散点图

散点图Scatter: 是数据点在直角坐标系中的分布图,可以让我们对数据分析规律,得到数据变化的趋势,进而进行数据分组。
API:scatter()--------用于绘制散点图

  1. scatter(x,y,scale,color,marker,label)
    参数:x,y是绘制数据点的x,y坐标——不可省略;
    color是数据点的颜色——取值(b,g,r,y,k,w,c,m)等;
    scale是数据点的大小——默认值是38
    marker是数据点的样式——默认值是’o’(圆点)
    label是图例——可以省略
    在这里插入图片描述

代码实现

import matplotlib 
import matplotlib.pyplot as plt 
import numpy as np 

print("""
散点图Scatter: 是数据点在直角坐标系中的分布图,
可以实现--数据分析规律--数据变化的趋势--数据分组。
基础的函数包括:scatter()--------用于绘制散点图
参数:scatter(x,y,scale,color,marker,label)
x,y是绘制图标的x,y坐标,不可省略
color是数据点的颜色---b,g,r,y,k,w,c,m;
scale是数据点的大小,默认值是38
marker是数据点的样式, 默认值是'o'(圆点)
label是图例文字,可以省略

marker:数据点样式包括:
-:实线      .:点       ,:像素     o:圆形      +:+号标记      x:x号标记      v:朝下的三角形
 
--:虚线    -.:点线     ::点虚线    ^:朝上的三角形     <:  >:……    D:钻石形 d:小钻石形 |:垂直形 _:水平线形
""")
#演示一个例子
#1.设置中文
plt.rcParams["font.family"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = False #显示负号----1
#2.使用numpy正态分布生成数据x,y
n = 1024
x1 = np.random.normal(0,1,n) #范围,以及shape
y1 = np.random.normal(0,1,n)
#添加多一组数据使用均匀分布
x2 = np.random.uniform(-4,4,(1,n)) #范围,以及shape
y2 = np.random.uniform(-4,4,(1,n))

#描绘散点图
plt.scatter(x2,y2,s=40,c='g',marker='o',label='均匀分布')
plt.scatter(x1,y1,s=40,c='b',marker='o',label="正态分布")
#添加文字,设置下x,y的坐标范围设置全局标题
plt.text(2.5,2.5,"均值:0\n标准差:1",color='r')
plt.xlim(-4,4)
plt.ylim(-4,4)
#设置坐标轴标签
plt.xlabel("横坐标x",fontsize=14,color='r')
plt.ylabel("纵坐标y",fontsize=14)
plt.suptitle("散点图",fontsize=20,backgroundcolor='y')

#设置图例,位置设置为2,左上角
plt.legend(loc=2)
plt.show()

在这里插入图片描述

折线图

折线图 (Line Chart):散点图的基础上,将相邻的点用线段相连接。可以描述变量的变化趋势
API:plt.plot--------绘制折线图。

  1. plot( x, y, color, marker, label, linewidth, markersize )
    参数:
    x,y是数据点的x,y坐标,其中y不可省略。x默认是0,1,2,3……
    color 是颜色
    marker是数据点的形状
    label是图例
    linewith是线宽
    markersize是数据点的大小

代码演示

import matplotlib 
import matplotlib.pyplot as plt
import numpy as np 

print("""
折线图:是在散点图的基础上,将相邻的点用线段链接起来的图表
--可以描述变量的变化趋势
使用plt.plot()函数绘制折线图,
参数:
x,y是数据点的x,y坐标,其中y不可省略。x默认是0,1,2,3。。
color 是颜色
marker是点的形状
label是图例文字
linewith是线宽
markersize是数据点的大小
""")
#例子绘制自己创建的温度与湿度的折线图
#0设置中文
plt.rcParams["font.family"] = "SimHei"
#1.生成随机数做样本数据点
n =  24
y1 = np.random.randint(27,37,n)
y2 = np.random.randint(40,60,n) 

#2.绘制,注意,多个折线图,颜色它自己会区分开
plt.plot(y1,label='温度')
plt.plot(y2,label='湿度')
#设置全局biaot
plt.suptitle("24小时温度湿度数据折线图")
#设置x的范围
plt.xlim(0,24)
#设置坐标名字
plt.xlabel("小时")
plt.ylabel("测试值")
#显示图例
plt.legend()
#显示图片
plt.show()

在这里插入图片描述

柱状图

柱状图(Bar chart):由一系列的高度不等的柱形条纹表示数据分布的情况。
API:bar--------绘制柱状图

  1. bar( left, height, width, facecolor, edgecolor, label )
    参数:
    left:是条纹left坐标,
    height:条纹高度,指数据y的值
    width:条纹的宽度
    facecolor:条纹填充的颜色
    edgecolor:条纹边框颜色
    label:设置图例

代码演示

import matplotlib 
import matplotlib.pyplot as plt
import numpy as np 
print("""
柱状图:Bar chart由一系列的高度不等的柱形条纹表示数据分布的情况
使用函数bar()来绘制
参数:
left:是条纹left坐标,
height:根据数据y定的条纹高度
width:条纹的宽度
facecolor:条纹填充的颜色
edgecolor:条纹边框颜色
label:设置图例
""")
#1.设置中文
plt.rcParams["font.family"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = False #设置显示符号

#设置数据集,这里不给x也会自动计算
y1 = [32,25,16,30,24,45,33,28,17,24,20]
y2 = [-23,-35,-26,-35,-45,-35,-32,-23,-17,-22,-28]

#绘制柱状图
plt.bar(range(len(y1)),y1,width=0.8,facecolor='green',edgecolor='white',label="统计量1")
plt.bar(range(len(y2)),y2,width=0.8,facecolor='r',edgecolor='white',label="统计量2")
#设置子标题,因为只有一个subplot,所以这里相当于全局标题
plt.title("统计量柱状图")
#设置图例
plt.legend()
#填充   plt.tight_layout()
#显示
plt.show()

在这里插入图片描述

关于一些样例图表的实现可以参考的网站

在这里插入图片描述

发布了50 篇原创文章 · 获赞 24 · 访问量 2399

猜你喜欢

转载自blog.csdn.net/qq_44861675/article/details/104399610