Python绘图代码大全带说明书
Python语言以其简单易用、高效便捷的特性被越来越多的人所推崇,它被广泛应用于科学计算、数据分析、机器学习、人工智能等领域。而Python的一个强大的绘图库matplotlib,也成为了数据可视化的宝库,在各个领域的科学研究中发挥着重要作用。本文将介绍常用的matplotlib绘图函数及其使用方法,方便读者对于数据的可视化有更深入的认识和掌握。
一、图形基本操作
1.创建一个窗口
在matplotlib库中,pyplot对象是一个进行交互式的函数对象,一般用pyplot对象来创建图形窗口,可以进行子图的创建、绘制多个图形等。
引入pyplot对象方法:
from matplotlib import pyplot as plt
创建一个窗口方法:
plt.figure()
2.画出一个函数图像
画出一个函数图像的方法为,给定一个横坐标x,根据函数的表达式计算出纵坐标y,并用plot函数来画出函数的图像。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
代码解析:np.linspace是numpy库中的函数,用来生成-5到5之间的100个等差数列,函数np.sin()用来对x中每个数取正弦值并存入y中,plt.plot()用来画图,最后plt.show()将画好的图像显示出来。
3.设置坐标轴名称和图形标题
在图形中,我们可以通过设置标签来显示坐标轴名称,并使用title方法来设置图形标题。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y = np.sin(x)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('sin(x)')
plt.show()
代码解析:通过plt.xlabel()和plt.ylabel()设置x轴和y轴的名称,plt.title()来设置图形的标题。
4.设置图形的线型、颜色、标记
在绘制图形时,我们可以使用颜色、线型、标记等参数来区分不同的数据,使得数据更加清晰明了。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, 'r--', label='sin(x)')
plt.plot(x, y2, 'g', label='cos(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.title('sin(x) and cos(x)')
plt.legend()
plt.show()
代码解析:在第6、7行,分别使用'r--'和'g'来表示线的颜色和样式,两条线分别对应sin(x)和cos(x),使用plt.legend()来注解数据。
二、常见图形
1.折线图
折线图是一种用于展示连续型数据的图表。在matplotlib绘图中,使用plot函数即可绘制出折线图。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2,3,4,5])
y = np.array([1,4,3,6,4])
plt.plot(x, y)
plt.show()
代码解析:通过numpy库生成两个数组,分别表示x轴和y轴的坐标,使用plot()方法来绘制折线图。
2.散点图
散点图是一种通过绘制点来表示两个变量之间的关系的统计图表。在matplotlib绘图中,我们可以使用scatter函数来画出散点图。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2,3,4,5])
y = np.array([1,4,3,6,4])
plt.scatter(x, y)
plt.show()
代码解析:使用scatter()方法来绘制散点图。
3.柱状图
柱状图是在一维方向上展示各类别间数据的大小关系的图表。在matplotlib绘图中,可以使用bar函数来画出柱状图。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.array(['a', 'b', 'c', 'd', 'e'])
y = np.array([1, 4, 3, 6, 4])
plt.bar(x, y)
plt.show()
代码解析:通过bar()方法来绘制柱状图。
4.饼图
饼图是一种展示部分和整体之间的关系的图表。在matplotlib绘图中,使用pie函数来画出饼图。
示例代码:
import matplotlib.pyplot as plt
labels = ['a', 'b', 'c', 'd', 'e']
sizes = [15, 30, 25, 10, 20]
plt.pie(sizes, labels=labels)
plt.show()
代码解析:使用pie()方法来绘制饼图。
三、动态烟花图的绘制
动态烟花图,是一种比较有趣的图形,它通常被用于节日等场合。下面我们将介绍如何使用matplotlib绘制出动态烟花图。
参考代码:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
colors = ['red', 'blue', 'green', 'purple', 'black', 'pink', 'cyan', 'yellow']
puffs = []
labels = []
num_puffs = 30
use_blit = True
for ii in range(num_puffs):
puff, = ax.plot([], [], 'o', lw=2, c=colors[np.random.randint(0, len(colors) - 1)])
puffs.append(puff)
labels.append(str(ii))
# initialization function: plot the background of each frame
def init():
for ii in range(num_puffs):
puffs[ii].set_data([], [])
return puffs
# animation function. This is called sequentially
def animate(i):
t = 2 * np.pi * np.random.random_sample(10)
r = np.random.random_sample(10) ** 2
x = r * np.cos(t)
y = r * np.sin(t)
for ii in range(num_puffs):
if np.random.random_sample() < 0.1:
colors = ['red', 'blue', 'green', 'purple', 'black', 'pink', 'cyan', 'yellow']
puffs[ii].set_color(colors[np.random.randint(0, len(colors) - 1)])
xdata, ydata = puffs[ii].get_data()
xdata = np.append(xdata, x[ii])
ydata = np.append(ydata, y[ii])
puffs[ii].set_data(xdata, ydata)
puffs[ii].set_label(labels[ii])
plt.legend(list(set(labels)), loc='upper right')
return puffs
ani = FuncAnimation(fig, animate, init_func=init, frames=100, interval=25, blit=use_blit)
plt.show()
代码解析:
- 创建一个子图fig,使用FuncAnimation对象进行动画效果的绘制。
- 在颜色列表colors中,随机选取小球颜色,并通过puff数组记录所有小球的信息。
- 创建两个函数:init()和animate(i),init()函数用于绘制初始画面。animate(i)函数则是重点,它用来更新每一帧画面的内容和样式,并返回所有更新后的小球对象。
- 使用FuncAnimation对象让animate(i)函数连续更新100次,每次更新的时间间隔为25ms,最后通过show()方法将烟花效果展示在图像中。
总结:
本文介绍了matplotlib绘图的常见操作及常用图形的绘制方法,并通过动态烟花图的绘制带领读者一同感受matplotlib的魅力。图表是数据可视化的重要手段,通过数据的呈现,人们能够更好地理解数据并加以运用。希望读者学习本文之后能够更好地掌握Python绘图及数据可视化的技巧,实现更加优秀的数据分析与展示。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
少女的英雄梦。