欢迎大家访问个人博客:https://jmxgodlz.xyz

文章目录

  • 前言
  • Matplotlib 折线图格式调整
    • 标签
    • 线条颜色
    • 线条形状
    • 折点样式
    • 线条透明度

前言

看到有些论文插图十分简洁美观,于是便摸索一下如何美化一下折线图绘图。本文将在前文Python数据分析-数据可视化的基础上,介绍折线图格式的调整。

本文使用的画图工具为matplotlib,相关API可访问python matplotlib文档。

Matplotlib 折线图格式调整

首先,贴一下文档中折线图绘制的附加参数表:

Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color or c color
dash_capstyle CapStyle or {‘butt’, ‘projecting’, ‘round’}
dash_joinstyle JoinStyle or {‘miter’, ‘round’, ‘bevel’}
dashes sequence of floats (on/off ink in points) or (None, None)
data (2, N) array or two 1D arrays
drawstyle or ds {‘default’, ‘steps’, ‘steps-pre’, ‘steps-mid’, ‘steps-post’}, default: ‘default’
figure Figure
fillstyle {‘full’, ‘left’, ‘right’, ‘bottom’, ‘top’, ‘none’}
gid str
in_layout bool
label object
linestyle or ls {’-’, ‘–’, ‘-.’, ‘:’, ‘’, (offset, on-off-seq), …}
linewidth or lw float
marker marker style string, Path or MarkerStyle
markeredgecolor or mec color
markeredgewidth or mew float
markerfacecolor or mfc color
markerfacecoloralt or mfcalt color
markersize or ms float
markevery None or int or (int, int) or slice or list[int] or float or (float, float) or list[bool]
path_effects AbstractPathEffect
picker float or callable[[Artist, Event], tuple[bool, dict]]
pickradius float
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
solid_capstyle CapStyle or {‘butt’, ‘projecting’, ‘round’}
solid_joinstyle JoinStyle or {‘miter’, ‘round’, ‘bevel’}
transform unknown
url str
visible bool
xdata 1D array
ydata 1D array
zorder float

接下来,我将挑选几个常用的附加参数介绍使用方式与效果。

标签

  1. 附加参数名:label
  2. 功能:为绘制曲线命名,该名称会在图例显示
  3. 使用方式:plt.plot(x,y,label=‘example’)
import randomimport matplotlib.pyplot as pltx = range(10)
y = [random.random() for _ in range(10)]plt.figure()
plt.plot(x, y, label='example')
plt.legend()
plt.show()

线条颜色

  1. 附加参数名:color
  2. 功能:选择绘制线条的颜色
  3. 使用方式:plt.plot(x,y,color=‘r’)
  4. 颜色选取方式分为三种:
  • 用全名或简称 ,如blue或b
  • 16进制 ,如FF00FF
  • (r, g, b) 或 (r, g, b, a),如(1,0,1,1) ,其中 r g b a 取均为[0, 1]之间,[0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色
import randomimport matplotlib.pyplot as pltx = range(10)
y = [random.random() for _ in range(10)]
y2 = [random.random() for _ in range(10)]
y3 = [random.random() for _ in range(10)]
y4 = [random.random() for _ in range(10)]plt.figure()
plt.plot(x, y, label='example1', color='blue')
plt.plot(x, y2, label='example2', color='r')
plt.plot(x, y3, label='example3', color='#00FFFF')
plt.plot(x, y4, label='example4', color=(0.4, 0.5, 0.6))
plt.legend()
plt.show()

线条形状

  1. 附加参数名:linestyle(或ls)
  2. 功能:选择绘制线条的形状
  3. 使用方式:plt.plot(x,y,linestyle=’:’)或者plt.plot(x,y,ls=’:’)
  4. 常用形状:
  • - 实线(solid)
  • – 短线(dashed)
  • -. 短点相间线(dashdot)
  • : 虚点线(dotted)
  • ‘’, ’ ', None
import randomimport matplotlib.pyplot as pltx = range(10)
y = [random.random() for _ in range(10)]
y2 = [random.random() for _ in range(10)]
y3 = [random.random() for _ in range(10)]
y4 = [random.random() for _ in range(10)]plt.figure()
plt.plot(x, y, label='example1', color='blue', linestyle='-')
plt.plot(x, y2, label='example2', color='r', ls='--')
plt.plot(x, y3, label='example3', color='#00FFFF', ls=':')
plt.plot(x, y4, label='example4', color=(0.4, 0.5, 0.6), ls='')
plt.legend()
plt.show()

折点样式

  1. 附加参数名:
    (1)marker – 折点形状

(2)markeredgecolor 或 mec – 折点外边颜色

(3)markeredgewidth 或 mew – 折点线宽

(4)markerfacecolor 或 mfc --折点实心颜色

(5)markerfacecoloralt 或 mfcalt

(6)markersize 或 ms --折点大小

折点形状选择如下表:

character description
'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style
'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
``’ '``
'_' hline marker
import randomimport matplotlib.pyplot as pltx = range(10)
y = [random.random() for _ in range(10)]
y2 = [random.random() for _ in range(10)]
y3 = [random.random() for _ in range(10)]
y4 = [random.random() for _ in range(10)]plt.figure()
plt.plot(x, y, label='example1', color='blue', linestyle='-', marker='o')
plt.plot(x, y2, label='example2', color='r', ls='--', marker='1')
plt.plot(x, y3, label='example3', color='#00FFFF', ls=':', marker='2')
plt.plot(x, y4, label='example4', color=(0.4, 0.5, 0.6), marker='3')
plt.legend()
plt.show()

线条透明度

  1. 附加参数名:alpha,值在[0,1]之间
  2. 功能:选择绘制线条的透明度
  3. 使用方式:plt.plot(x,y,alpha=‘0.9’)
import randomimport matplotlib.pyplot as pltx = range(10)
y = [random.random() for _ in range(10)]
y2 = [random.random() for _ in range(10)]
y3 = [random.random() for _ in range(10)]
y4 = [random.random() for _ in range(10)]plt.figure()
plt.plot(x, y, label='example1', color='blue', linestyle='-', alpha=0.3)
plt.plot(x, y2, label='example2', color='r', ls='--', alpha=0.1)
plt.plot(x, y3, label='example3', color='#00FFFF', ls=':', alpha=0.5)
plt.plot(x, y4, label='example4', color=(0.4, 0.5, 0.6), ls='')
plt.legend()
plt.show()

Python数据分析-数据可视化(二)相关推荐

  1. Python数据分析-数据可视化

    文章目录 一. Matplotlib 基本概念 二. Matplotlib三层结构 三. Matplotlib 基本使用 1. 折线图 2. 绘制多条折线图 3. 绘制多个坐标系 -- plt.sub ...

  2. Python爬虫+数据分析+数据可视化(分析《雪中悍刀行》弹幕)

    Python爬虫+数据分析+数据可视化(分析<雪中悍刀行>弹幕) 哔哔一下 爬虫部分 代码部分 效果展示 数据可视化 代码展示 效果展示 视频讲解 福利环节 哔哔一下 雪中悍刀行兄弟们都看 ...

  3. python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  4. python 图表美化_你的图表不美观怎么办,Python实现数据可视化帮你实现

    之前突然看到一个用Python实现数据可视化的技术,小编觉得解决了生活中的好多问题,大家一起来看看这个神器.1.主页 首先,这个主页的设计就是我非常喜欢的风格,简单清晰,第一眼就让人有特别清爽的感觉, ...

  5. python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  6. 【教程】Python科研数据可视化、MATLAB科研数据可视化

    在过去的20年中,随着社会产生数据的大量增加,对数据的理解.解释与决策的需求也随之增加.而固定不变是人类本身,所以我们的大脑必须学会理解这些日益增加的数据信息.所谓"一图胜千言", ...

  7. python数据分析可视化实例-Python数据分析与可视化从入门到精通

    (1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果.(2)专注于Python数据分析与可视化操作中实际用到的技术.相比大而全的书籍资料,本书能让读者尽快上手,开始项目 ...

  8. python可视化数据分析-Python数据分析与可视化从入门到精通

    (1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果.(2)专注于Python数据分析与可视化操作中实际用到的技术.相比大而全的书籍资料,本书能让读者尽快上手,开始项目 ...

  9. python实现数据可视化_使用Matplotib python实现数据可视化

    python实现数据可视化 I Feel: 我觉得: In today's digital world data has become as important as air. Machines &a ...

最新文章

  1. 前端开发我为什么选择cordova
  2. OpenGL环境多维数据集映射
  3. 10个必需的iOS开发工具和资源
  4. 一把“万能钥匙”就能开所有共享单车,撬走3亿元,开发者已被抓捕...
  5. 循环语句在c语言中的作用是什么,C语言中循环语句的使用
  6. 千万别说你会Python!如果不知道这10个Python包!
  7. ln火线零线_插座怎么接LN线
  8. [每日一氵] python创建简单 command-line interface (CLI) API
  9. win10怎么更新显卡驱动_荒野大镖客2优化:NVIDIA更新GeForce 441.41显卡驱动
  10. 【Word】解决mathtype已插入公式按新章节开始编号的问题
  11. Threejs加载城市obj模型,加载人物gltf模型,Tweenjs实现人物根据规划的路线运动
  12. VLC控件——属性和方法 .
  13. Jsp制作企业后台数据库管理系统
  14. 厦大C语言上机 1367 几何级数的计算机验证法
  15. MySQL的数据类型(一)
  16. Lumerical官方案例、FDTD时域有限差分法仿真学习(十四)——超透镜(Metalens)
  17. 萝卜魂军曹机器人_《萝卜魂》参战作品详介第一弹:《交响诗篇》
  18. Audio播放音频 --- 建立播放通道
  19. 脑洞大开:为啥帧率达到 60 fps 就流畅?
  20. 特殊符号 与 unicode 转换

热门文章

  1. maven_plugs报错问题
  2. Soildwork 制作简易玫瑰
  3. 搜狗2018秋招Java笔试试题
  4. HDOJ P1233 还是畅通工程
  5. [LUOGU] P1536 村村通
  6. iOS开发者账号使用配置说明
  7. MybatisPlus学习笔记(8)----扩展功能
  8. 嵌入式Linux设备驱动程序开发指南14(Linux设备驱动使用DMA)——读书笔记
  9. 网络舆情传播的特征及应对策略
  10. WPS:如何插入连续的参考文献,例如[1-6]