这一节我们主要学习如何利用Python-M_atplotlib_绘制出折线图,以及如何修改折线图的样式,如绘制带标记,多个折线图,修改_坐标轴范围、调整线条颜色、修改文本字体_”


  • 包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!


折线图简单绘制

我们先来简单演示下如何利用Matplotlib绘制一个简单的折线图:

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9]y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
plt.plot(x, y)plt.xlabel('x axis')plt.ylabel('y axis')plt.title('example')plt.show()

输出:

这里的x,y变量分别代表x轴和y轴的数值,plt.plot为绘制折线图。可以利用xlabel和ylabel设置x轴和y轴的名称,title设置图标的标题。但单单是这样很难拿得出手,我们需要基于此对其进行优化一下,让其变得更美观!

更改样式

如果觉得折线太过单一,我们可以使用不同标记点来折线上进行标记:

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
plt.plot(x, y, 'o-', label='example curve')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Example')
plt.legend()
plt.show()

输出:

在这里我们使用原点即’o-‘来表示折线类型,通过设置label来标记该折线所代表的曲线。类似的’–‘表示虚线,’‘表示三角,虚线和三角也可以连用’–':

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
plt.plot(x, y, '--^', label='example curve')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Example')
plt.legend()
plt.show()

输出:

我们还可以使用setp为该图设置折线的颜色和线段粗细:

x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
z = plt.plot(x, y, 'o-', label='example curve')
plt.setp(z, color='r', linewidth=2.0)

输出:

如果存在多个折线我们可以将其绘制在一张图上:

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9]
y1 = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
y2 = [1,5,6,3.1,1.7,5.3,7,2.1,4.6]
plt.plot(x, y1, 'r', label='Example1 curve')
plt.plot(x, y2, 'b', label='Example2 curve')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Example')
plt.legend()
plt.show()

输出:

我们也可以在plot参数中加上颜色的参数,'r’表示红色,'b’表示蓝色。如果我们想让这个曲线更平滑,可以使用numpy,scipy.interpolate将其变为平滑曲线:

import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import make_interp_spline
x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
x_smooth = np.linspace(min(x), max(x), 200)
spl = make_interp_spline(x, y, k=3)
y_smooth = spl(x_smooth)
plt.plot(x_smooth, y_smooth, 'g', label='Smooth curve')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Smoothed function')
plt.legend()
plt.show()

输出:

设置坐标轴及文本

我们还可以使用xlim,ylim自行设置x,y轴的坐标范围:

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
plt.plot(x, y)
plt.xlim(0, 10)
plt.ylim(0, 8)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Example with axis limits')
plt.show()

输出:

我们还可以对坐标轴的字体进行更改:

import matplotlib.pyplot as plt
plt.rc('font', family='Times New Roman', weight='bold', size=14)
x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('font')
plt.show()

输出:

使用rc可以对字体类型’family’,字号大小’size’,以及字体的粗细’weight’进行更改。如果我们想要更改标题的字号可以在xlabel,ylabel,title参数中进行设置:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties()
font.set_family('serif')
font.set_name('Times New Roman')
font.set_style('italic')
plt.rc('font', family='Times New Roman', weight='bold', size=14)
x = [1,2,3,4,5,6,7,8,9]
y = [1.3,1.5,2.5,4.2,1,7,4.3,2.1,5]
plt.plot(x, y)
plt.xlabel('x', fontsize='10', fontweight='bold')
plt.ylabel('y', fontproperties=font)
plt.title('font',fontsize='22', fontweight='bold')
plt.show()

输出:

我们先设置了一个默认的字体格式font,在设置参数时,可以直接将其传入到fontproperties中,也可以自己在参数中设置字体大小类型等。

关于Python技能储备!

**如果你是准备学习Python或者正在学习(想通过Python兼职),下面这些你应该能用得上:


  • 包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!


包括:激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便******

在这里插入图片描述

在这里插入图片描述

以上就是本次分享的全部内容。我们下期见~

End

点击阅读全文
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐