龙空技术网

Python之Matplotlib数据可视化一:简易线形图

追剧与技术并存 135

前言:

今天姐妹们对“html表格线条颜色”大约比较重视,你们都想要剖析一些“html表格线条颜色”的相关内容。那么小编在网络上收集了一些有关“html表格线条颜色””的相关内容,希望小伙伴们能喜欢,看官们快快来学习一下吧!

Python之Matplotlib数据可视化(一):简易线形图(颜色、风格、坐标轴、图像标签)1 调整图形:线条的颜色与风格1.1 线条颜色1.2 线条风格1.3 线条颜色和风格编码组合1.4 线条和标记节点样式:2 调整图形:坐标轴上下限3 设置图形标签4 Matplotlib 陷阱备注

在所有图形中,最简单的应该就是线性方程 y = f (x) 的可视化了。来看看如何创建这个简单的线形图。首先需要导入以下命令:

import matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as np

要画 Matplotlib 图形时,都需要先创建一个图形 fig 和一个坐标轴 ax 。创建图形与坐标轴的最简单做法如下所示:

fig = plt.figure()ax = plt.axes()plt.show()

在 Matplotlib 里面,figure( plt.Figure 类的一个实例)可以被看成是一个能够容纳各种坐标轴、图形、文字和标签的容器。就像在图中看到的那样,axes ( plt.Axes 类的一个实例)是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。

从一组简单的正弦曲线(sinusoid)开始:

import matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as npfig = plt.figure()ax = plt.axes()x = np.linspace(0, 10, 1000)ax.plot(x, np.sin(x));plt.show()

如果想在一张图中创建多条线,可以重复调用 plot 命令:

import matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as npfig = plt.figure()ax = plt.axes()x = np.linspace(0, 10, 1000)plt.plot(x, np.sin(x))plt.plot(x, np.cos(x));plt.show()
1 调整图形:线条的颜色与风格1.1 线条颜色

通常对图形的第一次调整是调整它线条的颜色与风格。 plt.plot() 函数可以通过相应的参数设置颜色与风格。要修改颜色,就可以使用 color 参数,它支持各种颜色值的字符串。颜色的不同表示方法如下所示:

plt.plot(x, np.sin(x - 0), color='blue') # 标准颜色名称plt.plot(x, np.sin(x - 1), color='g') # 缩写颜色代码(rgbcmyk)plt.plot(x, np.sin(x - 2), color='0.75') # 范围在0~1的灰度值plt.plot(x, np.sin(x - 3), color='#FFDD44') # 十六进制(RRGGBB,00~FF)plt.plot(x, np.sin(x - 4), color=(1.0,0.2,0.3)) # RGB元组,范围在0~1plt.plot(x, np.sin(x - 5), color='chartreuse'); # HTML颜色名称

具体线条颜色设置表格如下:

颜色符号说明r红色g绿色b蓝色w白色c青色m洋红y黄色k黑色

如果不指定颜色,Matplotlib 就会为多条线自动循环使用一组默认的颜色。

1.2 线条风格

与之类似,也可以用 linestyle 调整线条的风格:

plt.plot(x, x + 0, linestyle='solid')plt.plot(x, x + 1, linestyle='dashed')plt.plot(x, x + 2, linestyle='dashdot')plt.plot(x, x + 3, linestyle='dotted');# 你可以用下面的简写形式plt.plot(x, x + 4, linestyle='-') # 实线plt.plot(x, x + 5, linestyle='--') # 虚线plt.plot(x, x + 6, linestyle='-.') # 点划线plt.plot(x, x + 7, linestyle=':'); # 实点线
1.3 线条颜色和风格编码组合

如果你想用一种更简洁的方式,则可以将 linestyle 和 color 编码组合起来,作为 plt.plot() 函数的一个非关键字参数使用:

plt.plot(x, x + 0, '-g') # 绿色实线plt.plot(x, x + 1, '--c') # 青色虚线plt.plot(x, x + 2, '-.k') # 黑色点划线plt.plot(x, x + 3, ':r'); # 红色实点线
import matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as npfig = plt.figure()ax = plt.axes()x = np.linspace(0, 10, 1000)plt.plot(x, x + 0, '-g') # 绿色实线plt.plot(x, x + 1, '--c') # 青色虚线plt.plot(x, x + 2, '-.k') # 黑色点划线plt.plot(x, x + 3, ':r'); # 红色实点线plt.show()

这些单字符颜色代码是 RGB(Red/Green/Blue)与CMYK(Cyan/Magenta/Yellow/blacK)

颜色系统中的标准缩写形式,通常用于数字化彩色图形。

1.4 线条和标记节点样式:线条颜色:color=‘g’线条风格:linestyle=’–’线条粗细:linewidth=5.0标记风格:marker=‘o’标记颜色:markerfacecolor=‘b’标记尺寸:markersize=20透明度:alpha=0.5

线条和标记节点格式字符 如果不设置颜色,系统默认会取一个不同颜色来区别线条。

标记字符(mark)说明o实心圈标记.点标记,像素标记,极小的点v倒三角标记^上三角标记>右三角标记<左三角标记*星形标记+十字标记

x = np.linspace(0, 10, 1000)plt.plot(x,         np.sin(x),         marker='o',         markersize=6,         markerfacecolor='r',         linestyle='-.',         linewidth=5,         alpha=0.8        )

还有很多其他用来调整图像的关键字参数。若想了解更多的细节,建议你用 IPython 的帮助工具查看 plt.plot() 函数的程序文档

2 调整图形:坐标轴上下限

虽然 Matplotlib 会自动为你的图形选择最合适的坐标轴上下限,但是有时自定义坐标轴上下限可能会更好。调整坐标轴上下限最基础的方法是 plt.xlim() 和 plt.ylim()。

import matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as npfig = plt.figure()ax = plt.axes()x = np.linspace(0, 10, 1000)plt.plot(x, np.sin(x))plt.xlim(-1, 11)plt.ylim(-1.5, 1.5);plt.show()

如果你想要让坐标轴逆序显示,那么也可以逆序设置坐标轴刻度值:

import matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')import numpy as npfig = plt.figure()ax = plt.axes()x = np.linspace(0, 10, 1000)plt.plot(x, np.sin(x))plt.xlim(10, 0)plt.ylim(1.2, -1.2);plt.show()

还有一个方法是 plt.axis() (注意不要搞混 axes 和 axis)。通过传入 [xmin, xmax,ymin, ymax] 对应的值, plt.axis() 方法可以让你用一行代码设置 x 和 y 的限值。

plt.plot(x, np.sin(x))plt.axis([-1, 11, -1.5, 1.5]);

plt.axis() 能做的可不止如此,它还可以按照图形的内容自动收紧坐标轴,不留空白区域。

plt.plot(x, np.sin(x))plt.axis('tight');

你还可以实现更高级的配置,例如让屏幕上显示的图形分辨率为 1 :1,x 轴单位长度与 y 轴单位长度相等。

plt.plot(x, np.sin(x))plt.axis('equal');

关于 plt.axis() 方法设置坐标轴上下限和其他更多功能,请参考 plt.axis() 的程序文档。

3 设置图形标签

介绍设置图形标签的方法:图形标题、坐标轴标题、简易图例。

图形标题与坐标轴标题是最简单的标签,快速设置方法如下所示:

plt.plot(x, np.sin(x))plt.title("A Sine Curve")plt.xlabel("x")plt.ylabel("sin(x)");

你可以通过优化参数来调整这些标签的位置、大小和风格。若想获取更多的信息,请参考Matplotlib 文档和对应函数的程序文档。

在单个坐标轴上显示多条线时,创建图例显示每条线是很有效的方法。Matplotlib 内置了一个简单快速的方法,可以用来创建图例,那就是plt.legend() 。虽然有不少用来设置图例的办法,但我觉得还是在 plt.plot 函数中用 label 参数为每条线设置一个标签最简单。

plt.plot(x, np.sin(x), '-g', label='sin(x)')plt.plot(x, np.cos(x), ':b', label='cos(x)')plt.axis('equal')plt.legend();

你会发现, plt.legend() 函数会将每条线的标签与其风格、颜色自动匹配。关于通过 plt.legend() 设置图例的更多信息,请参考相应的程序文档。

4 Matplotlib 陷阱

虽然绝大多数的 plt 函数都可以直接转换成 ax 方法(例如 plt.plot() → ax.plot() 、plt.legend() → ax.legend() 等),但是并非所有的命令都可以这样用。尤其是用来设置坐标轴上下限、坐标轴标题和图形标题的函数,它们大都稍有差别。一些 MATLAB风格的方法和面向对象方法的转换如下所示:

•  plt.xlabel() →  ax.set_xlabel()•  plt.ylabel() →  ax.set_ylabel()•  plt.xlim() →  ax.set_xlim()•  plt.ylim() →  ax.set_ylim()•  plt.title() →  ax.set_title()

在用面向对象接口画图时,不需要单独调用这些函数,通常采用 ax.set() 方法一次性设置所有的属性是更简便的方法:

 ax = plt.axes()ax.plot(x, np.sin(x))ax.set(xlim=(0, 10), ylim=(-2, 2),xlabel='x', ylabel='sin(x)',title='A Simple Plot');
备注

各位老铁来个“关注”、“点赞”、“评论”三连击哦

各位老铁来个“关注”、“点赞”、“评论”三连击哦

各位老铁来个“关注”、“点赞”、“评论”三连击哦

资源传送门

1. 关注【做一个柔情的程序猿】公众号2. 在【做一个柔情的程序猿】公众号后台回复 【python资料】【2020秋招】 即可获取相应的惊喜哦!

标签: #html表格线条颜色