Matplotlib 是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
1.PyCharm下安装Matplotlib:在PyCharm最下方找到Terminal,双击打开并输入:pip install Matplotlib,进行Matplotlib库函数的安装。
2.Matplotlib 库函数安装完成,现在使用Matplotlib 库函数来绘制图形。
- 柱状图
# 正常显示中文字体 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 生成一张12*4的图 fig = plt.figure() # 生成子图的位置 ax1 = fig.add_subplot() # 柱状图数据 x1 = [0.2, 1.7, 3, 4, 5] y1 = [5, 20, 15, 25, 10] # 子图绘图和标注的设置 ax1.bar(x1, y1) # width=2 ax1.set(xlabel='横坐标', ylabel='纵坐标', title='柱状图') #显示 plt.show()
- plt.style.use('bmh') 它设置了柱形图的背景格式,除此之外还有许多其他格式,例如:
plt.style.use('dark_background')
plt.style.use('seaborn-ticks')
plt.style.use('ggplot')
- plt.rcParams['font.sans-serif'] ='SimHei':
#设置字体为SimHei显示中文;同时plt.rcParams还可以设置画图的分辨率,大小等信息。
,将生成的图片放大时,图片会变得模糊不清,
这是因为在默认情况的像素为:[6.0,4.0],分辨率为:100,图片尺寸为:600&400,可以通过plt.rcParams更改图片分辨率和图片像素。如图所示:
plt.rcParams['savefig.dpi'] = 800 #图片像素 plt.rcParams['figure.dpi'] =800 #分辨率
plt.rcParams不仅可以改变图片像素与分辨率还可以改变图片的大小:
plt.rcParams['figure.figsize'] = (8.0, 4.0)
Figure 1为未改变之前,Figure 2为设置plt.rcParams之后:
plt.figure():设置其中的参数,改变窗口的大小,背景颜色,边框颜色等:
fig=plt.figure(figsize=(4,3),facecolor="blue")
plt.subplots():如果只创建一个窗口,在subplots()中什么都不写
import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot() plt.show()
如果要创建多个窗口,subplots(“行”,“列”,“该图片所在二维空间的位置”)
ax = fig.add_subplot(121) ax = fig.add_subplot(122)
一行两列的的一个位置
一行两列的的二个位置
ax = fig.add_subplot(221) ax = fig.add_subplot(224)
# 柱状图数据 x1 = [0.2, 1.7, 3, 4, 5] y1 = [5, 20, 15, 25, 10] # 子图绘图和标注的设置 ax1.bar(x1, y1) # width=2 ax1.set(xlabel='横坐标', ylabel='纵坐标', title='柱状图')
这段代码的数据不是随机生成而是写死的,一个X对应一个Y,如果数据出现个数不对应,会出现报错的情况;
ax1.set(xlabel='横坐标', ylabel='纵坐标', title='柱状图')
xlabel:设置横坐标的标注
ylabel:设置纵坐标的标注
title:设置图形标题
同时在set中还能够对横纵坐标轴的范围进行设置,规定让其在设定的范围之内,不单单限制在我们所输入数据的最大值和最小值之间。
ax1.set(xlim=(-5, 9), xticks=np.arange(-5, 9),#
xlim 设置X轴限制,xticks设置X轴刻度
ylim=(-5, 9), yticks=np.arange(-5, 9))
ax1.bar(x1, y1):根据x1和y1的参数绘制柱形图
bar:柱形图
ax1.plot(x1, y1):根据x1和y1的参数绘制折线图
plot:折线图
ax1.scatter(x1, y1):根据x1和y1的参数绘制散点图
scatter:散点图
2.折线图
3) #导入Matplotlib库函数
import matplotlib.pyplot as plt
import numpy as np
# 设置背景格式
plt.style.use('bmh')
# 正常显示中文字体
plt.rcParams['font.sans-serif'] =['Microsoft YaHei']
# plt.rcParams['figure.figsize'] = (8.0, 4.0) # 设置figure_size尺寸
plt.rcParams['savefig.dpi'] = 800 #图片像素
plt.rcParams['figure.dpi'] =800 #分辨率
fig = plt.figure()
# 生成子图的位置
ax1 = fig.add_subplot()
# 折线图数据
x1 = [0.2, 1.7, 3, 4, 5]
y1 = [5, 20, 15, 22, 10]
x2 = np.arange(0, 5)
y2 = [25, 2, 12, 30, 20]
ax1.plot(x1, y1, marker='*', ls='--', lw=3,ms=10 )
# 折线图 marker:标记形状;ms:标记的大小;ls:连接样式;
# lw:折线的粗细;c:折线的颜色
ax1.plot(x2,y2,marker='o',c='#992211', ms=10 )
ax1.set(xlabel='横坐标', ylabel='纵坐标', title='折线图')
plt.show()
折线图的背景,窗口,横纵坐标设置与柱形图大同小异;折线图与柱形图的不同之处,可以设置折线的类型,折线标记的记号等。
- 颜色
plot方法的关键字参数color(或c)用来设置线的颜色。可取值为:颜色名称或简写:
b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white
或者以#rrggbb格式:(r, g, b) 或 (r, g, b, a),其中 r g b a 取均为[0, 1]之间,[0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色
2.样式
plot方法的关键字参数linestyle(或ls)用来设置线的样式。可取值为:
- -, solid
- --, dashed
- -., dashdot
- :, dotted
- '', ' ', None
3.线条粗细
设置plot方法的关键字参数linewidth(或lw)可以改变线的粗细,其值为浮点数。
ax1.plot(x1, y1, marker='*', ls='--', lw=3,ms=10 ) # 折线图 marker:标记形状;ms:标记的大小;ls:连接样式; # lw:折线的粗细;c:折线的颜色 ax1.plot(x2,y2,marker='o',c='#992211', ms=10 )



