matplotlib教程01---matplotlib初识和线条风格

欢迎关注公众号【Python开发实战】,免费领取Python学习电子书!

工具-matplotlib

使用matplotlib可以绘制出漂亮的图形。

绘制第一张图

导入matplotlib

import matplotlib
import matplotlib.pyplot as plt

matplotlib可以使用各种后端图形库输出图形,如Tk、wxPython等。使用命令行运行Python时,图形通常显示在单独的窗口中。在jupyter notebook中,可以通过运行%matplotlib inline命令简单地在jupyter notebook中输出图形。

%matplotlib inline
# matplotlib.use('TKAgg')   # 使用Tk作为图形后端

现在绘制第一张图!

plt.plot([1, 2, 4, 9, 5, 3])
plt.show()

png

如果plot函数传入了一个数组,则使用该数组作为纵轴上的坐标,使用数组中每个数据点的索引作为横轴上的坐标。

还可以提供两个数组,一个用于横轴x,一个用于纵轴y。

plt.plot([-3, -2, 5, 0], [1, 6, 4, 3])
plt.show()

png

轴会自动匹配数据的范围,如果想要给图形多一点空间,需要调用axis()函数来改变每个轴的范围[xmin, xmax, ymin, ymax]。

plt.plot([-3, -2, 5, 0], [1, 6, 4, 3])
plt.axis([-4, 6, 0, 7])
plt.show()

png

现在来绘制一个数学函数的图形。使用numpy的linspace()函数来创建一个包含500个从-2到2的浮点数组x,然后通过计算x的平方来创建第二个数组y。

import numpy as np
x = np.linspace(-2, 2, 500)
y = np.power(x, 2)
plt.plot(x, y)
plt.show()

png

现在给图形添加一个标题、x轴的标签、y轴的标签,并在图中绘制网格线。

plt.plot(x, y)
plt.title('Square function')   # 添加标题
plt.xlabel('x')                # 添加x轴标签
plt.ylabel('y = x **2')       # 添加y轴标签
plt.grid(True)                #  绘制网格线
plt.show()

png

线条风格和颜色

默认情况下,matplotlib在连续点之间绘制一条线。

plt.plot([0, 100, 100, 0, 0, 100, 50, 0, 100], [0, 0, 100, 100, 0, 100, 130, 100, 0])
plt.axis([-10, 110, -10, 140])
plt.show()

可以给plot()函数传递第三个参数来更改线条的风格和颜色。例如,g–表示绿色的虚线。

plt.plot([0, 100, 100, 0, 0, 100, 50, 0, 100], [0, 0, 100, 100, 0, 100, 130, 100, 0], 'g--')
plt.axis([-10, 110, -10, 140])
plt.show()

png

可以在一张图上绘制多条线,只需要给plot()函数传递参数x1, y1, style1, x2, y2, style2, …。

plt.plot([0, 100, 100, 0, 0], [0, 0, 100, 100, 0], 'r-', [0, 100, 50, 0, 100], [0, 100, 130, 100, 0], 'g--')
plt.axis([-10, 110, -10, 140])
plt.show()

png

或者在调用show()函数之前多次调用plot()函数。

plt.plot([0, 100, 100, 0, 0], [0, 0, 100, 100, 0], 'r-')
plt.plot([0, 100, 50, 0, 100], [0, 100, 130, 100, 0], 'g--')
plt.axis([-10, 110, -10, 140])
plt.show()

png

也可以画简单的点,而不是线。下面绘制一个带有绿色虚线、红色虚线和蓝色三角形的图形。

x = np.linspace(-1.4, 1.4, 30)
plt.plot(x, x, 'g--', x, x**2, 'r--', x, x**3, 'b^')
plt.show()

png

plot()函数返回的是Line2D对象的列表(每行一个)。可以在这些Line2D对象上设置额外的属性,如线条的宽度,虚线样式或者alpha级别等。

line1, line2, line3 = plt.plot(x, x, 'g--', x, x**2, 'r--', x, x**3, 'b^')
line1.set_linewidth(3.0)
line1.set_dash_capstyle('round')
line3.set_alpha(0.4)
plt.show()

png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凯旋.Lau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值