python库之matplotlib库

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/sandalphon4869/article/details/100585280


一、简介:

1.安装

pip install matplotlib

二、matplotlib.pyplot

1.简介

matplotlib.pyplot是一个用于python编程语言中的2D图形的绘图库

2.import as

import matplotlib.pyplot as plt

3.参考

官方:https://matplotlib.org/3.0.3/tutorials/introductory/usage.html#sphx-glr-tutorials-introductory-usage-py

Python第三方库matplotlib(2D绘图库)入门与进阶

三、图的元素设置

0.总汇

功能 函数 参数
显示图片 %matplot inline与plt.show() null
标签-图片 plt.title() 一般是字符串
标签-x坐标轴 plt.xlabel()
标签-y坐标轴 plt.ylabel()
网格 plt.grid() 必选参数True,可选参数color
边界-x轴 plt.xlim() 元组类型或是列表类型
边界-y轴 plt.ylim()
刻度-x轴 plt.xticks() 列表类型,range(),np.arang()
刻度-y轴 plt.yticks()

1.显示

%matplot inline与plt.show():

​ 两者是用来将图像显示出来的,使用两者之一。
​ %matplot inline是在Jupyter中特有地用来自动显示图像的。意思是有%matplotlib inline 的存在,不必再输入 plt.show(),图像将自动显示出来。
​ plt.show()在任何IDE中(包括Jupyter Notebook)中都可以使用。

#只有在Jupyter Notebook中
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot([1,2,3],[4,5,1])
#任何IDE中
import matplotlib.pyplot as plt
plt.plot([1,2,3],[4,5,1])
plt.show()

工具Jupyter Notebook
使用说明:https://www.cnblogs.com/nxld/p/6566380.html

2.保存的图像分辨率

matplotlib.rcParams['figure.figsize']#图片像素 
matplotlib.rcParams['savefig.dpi']#分辨率 
plt.savefig('plot123_2.png',dpi=200)#指定分辨率

3.标题文字

区域 函数
图片 plt.title()
x坐标轴 plt.xlabel()
y坐标轴 plt.ylabel()
from matplotlib import pyplot as plt
x = [5,2,7]
y = [2,16,4]
plt.plot(x,y)
#图片的标题
plt.title('Image Title')
#坐标轴X轴
plt.xlabel('X axis')
#坐标轴Y轴
plt.ylabel('Y axis')
plt.show()

显示中文标题

将上这些

#coding=utf-8
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
#更改字体
mpl.rcParams['axes.unicode_minus'] = False
#解决更改字体导致显示不出负号的后遗症

4.网格

from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]
plt.plot(x,y)
#显示网格
#必选参数True,可选参数color
plt.grid(True,color='blue')
plt.show()

在这里插入图片描述

5.边界

限定数据显示的部分:a~b,包括b的

from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]
plt.plot(x,y)
#元组类型
plt.xlim((4,12))
#列表类型
plt.ylim([5,20])
plt.show()

在这里插入图片描述

from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]
plt.plot(x,y)
plt.xlim([5,10])
plt.ylim([5,15])
plt.show()

在这里插入图片描述

6.刻度

import numpy as np
from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]
plt.plot(x,y)
#列表类型
plt.xticks([4,5,6,7,8,9,10,11])
#numpy的ndarray类型
plt.yticks(np.arange(5,20,1.5))
#内置的range()函数生成的整数数列也行,plt.yticks(range(3,20))
#但range()只能生成整数数列,而不如np.arange()可以生成浮点数数据
plt.show()

在这里插入图片描述

只是标注轴上的刻度,并不能代替边界,不想见到的数据还是会出现

import numpy as np
from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]
plt.plot(x,y)
plt.xticks([7,8,9,10,11])
plt.yticks(np.arange(5,20,1.5))
plt.show()

在这里插入图片描述

7.刻度精度

就是设置刻度的小数位数即精度

import numpy as np
from matplotlib import pyplot as plt
import pandas as pd

df = pd.DataFrame(np.random.rand(10,2),columns=['A','B'])
fig = df.plot(figsize=(8,4))  # figsize:创建图表窗口,设置窗口大小

plt.xticks(range(10))  # 设置x刻度
plt.yticks(np.arange(0,1.2,0.2))  # 设置y刻度

fig.set_xticklabels("%.1f" %i for i in range(10))  # x轴刻度标签
fig.set_yticklabels("%.2f" %i for i in np.arange(0,1.2,0.2))  # y轴刻度标签

plt.show()

在这里插入图片描述

???代码

import numpy as np
import matplotlib.pyplot as plt

#原始数据
X=[1 ,2 ,3 ,4 ,5 ,6]
Y=[2.6 ,3.4 ,4.7 ,5.5 ,6.47 ,7.8]

z1 = np.polyfit(X,Y,1)
#用一次多项式拟合,相当于线性拟合.
#ployfit()的第三个参数表示多项式的次数
#ployfit()返回的结果表示[按次数降序排列的多项式的系数]
print (z1)
#[1.02885714 1.47733333]


p1 = np.poly1d(z1)
#polyld()传入[多项式的系数]
#polyld()返回多项式的函数表示,按项的次数降序排列
print (p1)
#1.029 x + 1.477

#作图
x = np.arange(1,8)
#X轴选取从1到7的段
y = z1[0] * x + z1[1]
plt.figure()
plt.scatter(X, Y)
#scatter分散
#参数是数据X,Y
plt.plot(x, y)
#plot制图
#参数是函数x,y
plt.show()

猜你喜欢

转载自blog.csdn.net/sandalphon4869/article/details/100585280
今日推荐