python工具——Matplotlib详解编程语言

Matplotlib 是一个 Python 的 2D绘图库

安装

pip install matplotlib

绘图的准备

  1.添加Figure对象

  2.添加Axes

import matplotlib.pyplot as plt 
fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='An Example Axes', 
       ylabel='Y-Axis', xlabel='X-Axis') 
plt.show()

python工具——Matplotlib详解编程语言

在处理复杂的绘图时,需要借助Axes,简单的可以使用下面的方法

绘制简单图形

import matplotlib.pyplot as plt 
#图形输入值 
input_values = [1,2,3,4,5] 
#图形输出值 
squares = [1,4,9,16,25] 
#plot根据列表绘制出有意义的图形,linewidth是图形线宽 
plt.plot(input_values,squares,linewidth=5) 
#设置图标标题 
plt.title("Square Numbers",fontsize = 24) 
#设置坐标轴标签 
plt.xlabel("Value",fontsize = 14) 
plt.ylabel("Square of Value",fontsize = 14) 
#设置刻度标记的大小 
plt.tick_params(axis='both',labelsize = 14) 
#打开matplotlib查看器,并显示绘制图形 
plt.show()

python工具——Matplotlib详解编程语言

import matplotlib.pyplot as plt 
plt.plot([1,2,3,4], [1,4,9,16]) 
plt.ylabel('test') 
plt.show()

python工具——Matplotlib详解编程语言

说明:   

  第三个可选参数,它是字符串格式的,表示颜色和线的类型

  字符串参数是’b-‘,表示蓝色的实线

线条风格

-        实线 
:        虚线 
–        破折线 
None     什么都不画 
-.       点划线

线条标记

o                 圆圈   
.                 点 
D                 菱形   
s                 正方形 
h                 六边形1     
*                 星号 
H                 六边形2     
d                 小菱形 
_                 水平线  
v                 一角朝下的三角形 
8                 八边形  
<                 一角朝左的三角形 
p                 五边形  
>                 一角朝右的三角形 
,                 像素   
^                 一角朝上的三角形 
+                 加号   
/                 竖线 
None              无    
x                 X

颜色

b               蓝色   
g               绿色 
r               红色   
y               黄色 
c               青色 
k               黑色    
m               洋红色  
w               白色

eg:

import matplotlib.pyplot as plt 
plt.plot([1,2,3,4], [1,4,9,16], 'go-', label='line 1', linewidth=2) 
plt.ylabel('test') 
plt.show()

python工具——Matplotlib详解编程语言

绘制一个函数图像

import numpy as np  
from matplotlib import pyplot as plt 
 
x = np.arange(1,11)     # x轴数据 
y =  x * x +  5         # 函数关系 
plt.title("y=x*x+5")     # 图像标题 
plt.xlabel("x")     # x轴标签 
plt.ylabel("y")     # y轴标签 
plt.plot(x,y)     # 生成图像 
plt.show()    # 显示图像

python工具——Matplotlib详解编程语言

柱形图

import numpy as np 
import matplotlib.pyplot as plt 
plt.figure(3) 
x_index = np.arange(5)   #柱的索引 
x_data = ('A', 'B', 'C', 'D', 'E') 
y1_data = (20, 35, 30, 35, 27) 
y2_data = (25, 32, 34, 20, 25) 
bar_width = 0.35   #定义一个数字代表每个独立柱的宽度 
#参数:左偏移、高度、柱宽、透明度、颜色、图例 
rects1 = plt.bar(x_index, y1_data, width=bar_width,alpha=0.4, color='b',label='legend1') 
rects2 = plt.bar(x_index + bar_width, y2_data, width=bar_width,alpha=0.5,color='r',label='legend2') 
plt.xticks(x_index + bar_width/2, x_data)   #x轴刻度线 
plt.legend() 
plt.tight_layout()  
plt.show()

python工具——Matplotlib详解编程语言

饼图

import matplotlib.pyplot as plt 
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' 
sizes = [15, 30, 45, 10] 
explode = (0, 0.1, 0, 0) 
 
fig1, ax1 = plt.subplots() 
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', 
        shadow=True, startangle=90) 
ax1.axis('equal')  
 
plt.show()

python工具——Matplotlib详解编程语言

直方图

import matplotlib.pyplot as plt 
import numpy as np 
np.random.seed(19680801) 
 
n_bins = 10 
x = np.random.randn(1000, 3) 
 
fig, axes = plt.subplots(nrows=2, ncols=2) 
ax0, ax1, ax2, ax3 = axes.flatten() 
 
colors = ['red', 'tan', 'lime'] 
ax0.hist(x, n_bins, density=True, histtype='bar', color=colors, label=colors) 
ax0.legend(prop={'size': 10}) 
ax0.set_title('bars with legend') 
 
ax1.hist(x, n_bins, density=True, histtype='barstacked') 
ax1.set_title('stacked bar') 
 
ax2.hist(x,  histtype='barstacked', rwidth=0.9) 
 
ax3.hist(x[:, 0], rwidth=0.9) 
ax3.set_title('different sample sizes') 
 
fig.tight_layout() 
plt.show()

python工具——Matplotlib详解编程语言

 更多参考

  IT虾米网

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20480.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论