(一)折线图
画折线图需要用到plot()函数
plot( x, y, color, marker, label, linewidth, markersize )
参数 | 解释 | 默认值 |
---|---|---|
x | 数据点的x坐标 | 0,1,2,3… |
y | 数据点的y坐标 | 不可省略 |
color | 数据点的颜色 | |
marker | 数据点的样式 | ’o’(圆点) |
lable | 图例文字 | |
linewidth | 折线的宽度 | 数据点的大小 |
markersize | 数据点的大小 |
marker参数——数据点样式
取值 | 解释 |
---|
- |实线
– | 虚线
-. |点线
: |点虚线
. | 点
, | 像素
o | 圆形
- |+号标记
x | x号标记
v |朝下的三角
^ | 朝上的三角
< | 朝左的三角
| 朝右的三角
D |钻四形
d | 小版钻石形
_ | 水平线形
下面将画出芜湖市24小时温度统计的折线图(温度数据随机生成的)
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(7,5),facecolor='green')#创建figure(画布),原谅色.PS:画布并非必须创建
plt.rcParams['font.sans-serif']=['STXINWEI']#设置中文字体为华文新魏,但好像并不是所有的中文字体都支持
plt.title("芜湖市24小时温度统计",fontsize=17)#设置标题
y=np.random.randint(25,35,24)
plt.plot(y,label='温度')
plt.xlim(0,23)#设置x轴坐标范围
plt.ylim(0,51)#设置y轴坐标范围
plt.xlabel('时间',fontsize=13)
plt.ylabel('当地温度值',fontsize=13)
plt.legend()#显示图例
plt.show()#使用该函数进行显示
(二)柱状图
柱状图的绘制需要用到bar函数
bar( x, y, width, facecolor, edgecolor, label )
参数 | 解释 |
---|---|
x | x轴的序列个数 |
y | y 条纹高度 |
width | 条纹宽度 |
facecolor | 条纹颜色 |
edgecolor | 条纹的边缘颜色 |
label | 条纹对应的图例名称 |
下面用柱状图显示我与班长的本学期各项成绩对比(数据瞎编的)
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(7,5),facecolor='green',dpi=100)#创建figure(画布),原谅色.PS:画布并非必须创建
plt.rcParams['font.sans-serif']=['STXINWEI']#设置中文字体为华文新魏,但好像并不是所有的中文字体都支持
plt.title("我与班长本学期各项成绩统计对比",fontsize=17)#设置标题
subject_name = ['概率论','信号与系统','激光原理','光电物理','模电','单片机','大学英语','毛概','形势与政策']
x = range(len(subject_name))#自动生成X坐标序列
y1=[99,99,99,99,99,99,99,99,99]#我的成绩(瞎编的)
y2=-np.random.randint(0,100,9)#班长的成绩(随机初始化)
plt.xticks(x, subject_name)#修改x轴的刻度显示
plt.bar(x, y1,width=0.8,facecolor='green',edgecolor='black',label='我爱吃菠菜')
plt.bar(x, y2,width=0.8,facecolor='red',edgecolor='yellow',label='胖班长')
# 2.2 添加网格显示
#plt.grid(linestyle="--", alpha=1)#第一个参数表示格点现状,第二个参数表示格点的透明度0~1(好像是)
plt.tight_layout()#这里使图像尽可能占满整个画布,如果不使用该函数,下面的学科名就会因为太长重叠到一起
plt.legend()#显示图例
plt.show()#使用该函数进行显示
(三)散点图
绘制散点图需要用到scatter() 函数
scatter( x, y, scale, color, marker, label )
参数 | 解释 | 默认值 |
---|---|---|
x | 数据点的x坐标 | 不可省略 |
y | 数据点的y坐标 | 不可省略 |
scale | 数据点的大小 | 36 |
color | 数据点的颜色 | ’o’(圆点) |
marker | 数据点的样式 | |
label | 图例文字 |
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(7,5),facecolor='green',dpi=100)#创建figure(画布),原谅色.PS:画布并非必须创建
plt.rcParams['font.sans-serif']=['STXINWEI']#设置中文字体为华文新魏,但好像并不是所有的中文字体都支持
plt.title("散点图显示随机数",fontsize=17)#设置标题
x1=np.random.randint(0,101,51)#随机初始化
x2=np.random.randint(0,101,51)#随机初始化
y1=np.random.randint(0,101,51)#随机初始化
y2=np.random.randint(0,101,51)#随机初始化
plt.scatter(x1, y1, color="green",marker='*' ,label="*号的随机数")
plt.scatter(x2, y2, color="red",marker='+',label="+号的随机数" )
# 2.2 添加网格显示
#plt.grid(linestyle="-.", alpha=100)#第一个参数表示格点现状,第二个参数表示格点的透明度
#plt.tight_layout()#这里使图像尽可能占满整个画布,如果不使用该函数,下面的学科名就会因为太长重叠到一起
plt.legend()#显示图例
plt.show()#使用该函数进行显示
(四)备注
上面的plt.xticks(x, subject_name),这是修改x轴的刻度显示的函数,小伙伴们可自行百度其使用方法,网上都有,而其它的使用频率也是比较频繁的,还有就是plt.grid(linestyle=“-.”, alpha=100)#第一个参数表示格点现状,第二个参数表示格点的透明度。想这些小函数在数据可视化中还有很多,也经常使用到。matplotlib玩的好,这些小的细节都是不可忽略的。
下面推荐一个网站,上面都是matplotlib的画图实例,都有程序。配合着看,相信你也可以画出很多精美的图表,而且都给你分类好了,个人觉的matplotlib画图,这一个网站就够了。
(五)结语
如果有什么错误的地方,还请大家批评指正,最后,希望小伙伴们都能有所收获。