python--matplotlib(2)

时间:2023-02-20 20:00:46


前言 

Matplotlib画图工具的官网地址是 http://matplotlib.org/

Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。

实验环境

Pycharm2020.2.5社区版,win11 

正文

1.书接上回绘制一条曲线

import numpy as np
from pylab import *
x=np.linspace(-6,6,100)
sin1=np.sin(x)
xticks(np.linspace(-5,5,5),('-5','-2.5','0','2.5','5'))
plot(x,sin1,color='blue',linewidth=2.0,linestyle=':')
show()

python--matplotlib(2)

python--matplotlib(2)

2.一张图片上绘制两条曲线

import numpy as np
from pylab import *
x=np.linspace(-6,6,100)
sin1=np.sin(x)
cos1=np.cos(x)
xticks(np.linspace(-5,5,5),('-5','-2.5','0','2.5','5'))
plot(x,sin1,color='blue',linewidth=2.0,linestyle=':')
plot(x,cos1,color='green',linewidth=2.0,linestyle='-')
show()

python--matplotlib(2)

python--matplotlib(2)

如上图所示两条曲线就是复制对应曲线的代码,很简单,但是缺点什么,那就是图例,要不然我怎么知道那条曲线是干什么的。 

3.图例添加

import numpy as np
from pylab import *
x=np.linspace(-6,6,100)
sin1=np.sin(x)
cos1=np.cos(x)
xticks(np.linspace(-5,5,5),('-5','-2.5','0','2.5','5'))
plot(x,sin1,color='blue',linewidth=2.0,linestyle=':',label='sin(x)')
plot(x,cos1,color='green',linewidth=2.0,linestyle='-',label='cos(x)')
legend(loc='lower left')
show()

python--matplotlib(2)

python--matplotlib(2)

唯一和标题2,就多了几个代码:

label='sin(x)'【这句话是给图例加文字用的】

legend(loc='lower left')【这是控制图例位置的】

接下来引入下一个标题:legend函数

4.legend

我这里主要是将图例的摆放位置:

best                    中文最好的,电脑自己选呗
upper right          右上
upper left            左上
lower left            左下
lower right          右下
right                   中间最右
center left           *偏左
center right         *偏右
lower center       *偏下
upper center       *偏上
center                *

最好把,是自己上手试一下,这些数据是哪来的呢,我直接写错(͡° ͜ʖ ͡°),程序报错了,电脑直接就告诉我都有啥了(͡° ͜ʖ ͡°)。。

5.画饼图

import numpy as np
import matplotlib.pyplot as plt
data=[1,2,3,4,2]
print(data)
plt.pie(data,explode=[0,0,0,0,0])
plt.show()

python--matplotlib(2)

python--matplotlib(2)

data【存放数据,这里放几个数体现在图中就是几个区域】;

那个print没啥用,测试随机数的时候写的,忘删除了;

plt.pie(data,explode=[0,0,0,0,0]),画饼图用的,explode这个参数里面的每个数字不是零之后,都会有一块对应的区域“飞起来”。下面展示一下啊。

import numpy as np
import matplotlib.pyplot as plt
data=[1,2,3,4,2]
print(data)
plt.pie(data,explode=[0,0,0.3,0,0])
plt.show()

python--matplotlib(2)

python--matplotlib(2)

 那个数字也可以是负数呢,我把第三个数字换成-0.5看看奥。

python--matplotlib(2)

 可以,但是不好。

对了我上头说过随机数,就是把data换成随机生成的列表。

替换的语句是:

data=np.random.randint(1,8,5)

第一个数是随机数的下线(大于等于),第二个数是上限(小于等于),最后一个数是随机出来几个数(五个)。

import numpy as np
import matplotlib.pyplot as plt
data=np.random.randint(1,8,5)
print(data)
plt.pie(data,explode=[0,0,0.5,0,0])
plt.show()

python--matplotlib(2)

6.随便聊聊

编程语言种类的发展

超级语言- 粘性整合已有程序,具备庞大计算生态

高级语言- 接近自然语言,编译器,与CPU型号无关

汇编语言- 有助记符,汇编器,与CPU型号有关

机器语言- 代码直接执行,与CPU型号有关