700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python折线图怎么添加数值_Python数据可视化:如何创建曲线图

python折线图怎么添加数值_Python数据可视化:如何创建曲线图

时间:2018-11-08 22:59:13

相关推荐

python折线图怎么添加数值_Python数据可视化:如何创建曲线图

一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形。

用matplotlib生成基本图形非常简单,只需要几行代码,但要创建复杂的图表,需要调用更多的命令和反复试验,这要求用户对matplotlib有深入的认识。

我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,分别使用matplotlib, seaborn, plotly等工具实现可视化。

初学者使用matplotlib创建图形前,应该先学习matplotlib的基础知识,阅读另一篇文章:Python数据可视化:认识matplotlib

本文主题是如何用Matplotlib创建曲线图(lineplot)。

本文来自《数据黑客》,登录官网可精彩资讯和文章。数据黑客 - 专注金融大数据的内容聚合和数据聚合平台​

import numpy as np

import matplotlib.pyplot as plt

# 在jupyter notebook显示图形

%matplotlib inline

# 选择'ggplot'样式

plt.style.use("ggplot")

1. 基础线图

使用matplotlib创建图形的四个基本步骤:准备数据

创建Figure和Axes对象,前者一般简称为fig, 是所有数据和几何图形的容器,后者一般简称为ax,代表坐标轴,包含标题,横坐标/纵坐标,图例等对象元素

调用ax.plot(),将数据映射到图表

调整样式,如添加标题,改变颜色等

matplotlib提供两种不同的绘图接口:有状态接口(plt绘图函数)和无状态接口(面向对象),我们将使用面向对象范式。

# 准备数据

x = np.linspace(0, 10, 100)

y = np.sin(x)

y2 = np.cos(x)

# 创建Figure和Axes对象

# 创建方法1:分别调用plt.figure(), plt.subplot()

# fig = plt.figure()

# ax = plt.subplot()

# 创建方法2:直接调用plt.subplots() -> 返回(Figure, Axes)元组

# figsize参数控制图形的大小

fig, ax = plt.subplots(figsize=(12, 7))

# 调用Axes对象的绘图接口,映射数据

ax.plot(x, y)

ax.plot(x, y2) # 多次调用将继续添加数据到图表

2. 调整颜色,样式和大小

参数'color'控制颜色,接收任意能够代表颜色的字符串。如果不指定颜色,matplotlib会自动会多条曲线选择颜色。

x = np.arange(100)

fig, ax = plt.subplots(figsize=(12, 7))

ax.plot(x, x, color="red") # 用名字代表颜色, 'red'代表红色

ax.plot(x, x + 10, color="b") # 颜色代码,(rgbcmyk)

ax.plot(x, x + 20, color="0.25") # 灰度,取值0-1

ax.plot(x, x + 30, color="#FFDD44") # 十六进制代码

ax.plot(x, x + 40, color=(1.0,0.2,0.3)) # RGB 元组,元素取值0-1

参数'linestyle'控制曲线的样式,有包括实线和虚线在内的多种样式可供选择,默认为实线。

x = np.arange(100)

fig, ax = plt.subplots(figsize=(12, 7))

ax.plot(x, x, linestyle="solid") # 实线,等价于'-'

ax.plot(x, x + 10, linestyle="dashed") # 虚线,等价于'--'

ax.plot(x, x + 20, linestyle="dashdot") # 点画线,等价于'-.'

ax.plot(x, x + 30, linestyle="dotted") # 点线,等价于':'

ax.plot()有一个可选参数'fmt',可以直接指定曲线的颜色和样式。

x = np.linspace(0, 10, 100)

y = np.sin(x)

y2 = np.cos(x)

fig, ax = plt.subplots(figsize=(12, 7))

ax.plot(x, y, "r-") # 红色实线,等价于color="red", linestyle="solid"

ax.plot(x, y2, "b--") # 蓝色虚线,等价于color="blue", linestyle="dashed"

参数'linewidth'调整曲线的大小,用一个实数代表相对大小。

x = np.linspace(0, 10, 100)

y = np.sin(x)

y2 = np.cos(x)

fig, ax = plt.subplots(figsize=(12, 7))

ax.plot(x, y, linewidth=3.0)

ax.plot(x, y2, linewidth=6.0)

3. 调整坐标轴的范围

x = np.linspace(0, 10, 100)

y = np.sin(x)

fig, ax = plt.subplots(figsize=(12, 7))

ax.plot(x, y, "r-")

ax.set_xlim(-2, 12) # 提供(xmin, xmax)

ax.set_ylim(-1.5, 1.5) # 提供(ymin, ymax)

4. 添加标题,坐标轴标签和图例

优秀的可视化要传递有效的信息,有一些图形元素必不可少,例如标题,坐标轴标签,如果有多条曲线,为每条曲线添加标签是合理的。

用面向对象的方法调整样式时,主要通过调用类似ax.set_title()这样的方法来完成。所有设置方法请参考官方文档.

x = np.linspace(0, 10, 100)

fig, ax = plt.subplots(figsize=(12, 7))

# 设置label参数,为每条曲线添加标签

ax.plot(x, np.sin(x), label="sin(x)")

ax.plot(x, np.cos(x), label="cos(x)")

# 调用一系列set方法来设置样式

ax.set_title("Simple Line Plot", fontdict={"fontsize": 25}) # 添加标题,调整字符大小

ax.set_xlabel("x") # 添加横轴标签

ax.set_ylabel("y=f(x)") # 添加纵轴标签

ax.legend(loc="best") # 展示图例

5. 同时调整多个样式

调用ax.set()接口可以同时设置多个样式,避免逐个调用的繁琐。

x = np.linspace(0, 10, 100)

fig, ax = plt.subplots(figsize=(12, 7))

ax.plot(x, np.sin(x), "r-", label="sin(x)", linewidth=2)

ax.plot(x, np.cos(x), "b--", label="cos(x)", linewidth=3)

ax.set(xlim=(-2, 12), ylim=(-1.5, 1.5),

xlabel="x", ylabel="y=f(x)",

title="Simple Line Plot")

ax.legend(loc="best")

结论

本文介绍了如何用matplotlib创建曲线图,以及调整样式的基础方法。初学者只有掌握了这些基础方法,才能进阶到更加复杂的图形。接下来我们将继续探索柱状图,散点图和更多可视化方法,创建更多美观的图形。数据黑客 - 专注金融大数据的内容聚合和数据聚合平台​

我们聚合全网最优秀的资讯和教程:金融大数据

机器学习/深度学习

量化交易

数据工程

编程语言,Python,R,Julia,Scala,SQL

我们提供开源数据接口:下载国内和国外海量金融数据

API接口,将数据整合到您的平台

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。