上篇内容我们详细了解了Python使用matplotlib绘制一个复杂的正弦函数的方法(参见),上篇内容我们提到了一个属性'b-',简单介绍了它是用来设置线条颜色和样式的属性。今天,我们详细了解一下Python中的matplotlib库还有哪些常见的线条样式和颜色属性。

有哪些样式呢?

一个例子

我们还是使用上篇中绘制的正弦函数为例。先来绘制一个正弦函数。将上篇的完整代码附上。

绘制一个正弦函数

import matplotlib.pyplot as plt

import numpy as np

plt.rcParams['font.sans-serif']=['SimHei'] # 通过字体设置使其支持中文

plt.rcParams['axes.unicode_minus']=False # 用来正常显示图形中的负号

#设置输出的图片大小

figsize = 8,8

figure, ax = plt.subplots(figsize=figsize)

x = np.linspace(-np.pi,np.pi,512,endpoint=True) #获取x坐标

sin,cos = np.sin(x), np.cos(x) #获取y坐标

ax = plt.plot(x,sin,"r-",lw=2.5,label="正弦Sin()")

# 拉伸并重设刻度

plt.xlim(x.min()*1.5,x.max()*1.5)

plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])

plt.yticks([-1,0,1])

# 隐藏不需要的框线

ax=plt.gca() #获取Axes对象

ax.spines['right'].set_color('none') #隐藏右边界

ax.spines['top'].set_color('none') #隐藏上边界

# 添加标题和备注信息

plt.title("使用matplotlib绘制正弦曲线",fontsize=24,color="red")

plt.text(+2.5,-1.3,"By:Python高手养成",fontsize=14,color="green")

# 平移坐标轴

ax.xaxis.set_ticks_position('bottom') #x轴坐标刻度设置在坐标轴下面

ax.spines['bottom'].set_position(('data',0)) #x轴坐标轴平移至经过零点(0,0)位置

ax.yaxis.set_ticks_position('left') #y轴坐标刻度设置在坐标轴下面

ax.spines['left'].set_position(('data',0)) #y轴坐标轴平移至经过零点(0,0)位置

# 显示图例

plt.legend(loc="upper left",fontsize=14)

# 批量获取刻度并设置样式

for label in ax.get_xticklabels()+ax.get_yticklabels(): #获取刻度

label.set_fontsize(18)

label.set_bbox(dict(facecolor='pink', edgecolor='g', alpha=0.5))

plt.grid()

plt.savefig('matplotlib绘制正弦图.jpg', dpi=300)

plt.show() #显示图表

运行效果如下所示

程序运行效果展示

今天要了解的是黑体部分plt.plot(x,sin,"r-",lw=2.5,label="正弦Sin()"),我们把上篇内容中的'b-'改成了'r-'改变了线条的颜色。

函数实现什么功能?

函数干了什么?

函数完整描述如下

plt.plot(x, y, label = "test", linewidth = '1', color=' red ', linestyle=':', marker='|')

该函数的作用是:将y与x绘制为直线或标记。

x:点的横坐标,可迭代对象

y:点的纵坐标,可迭代对象

linewidth:设置线的粗细

label:设置图例,需要调用 plt 或子图的 legend 方法

color:颜色

linestyle:线的样式

marker:点的形状

下面,我们看下文档中对于这些样式的具体定义

文档中如何定义这些属性

linestyle参数属性

'-' solid line style 实线样式

'--' dashed line style 虚线样式

'-.' dash-dot line style 点划线样式

':' dotted line style 虚线样式

marker参数属性

'.' 点标记

',' 像素标记

'o' 圆标记

'v' 三角向下标记

'^' 三角向上标记

'

'>' 三角向右标记

'1' 向下标记

'2' 向上标记

'3' 向左标记

'4' 向右标记

's' 方形标记

'p' 五角大楼标记

'*' 星标记

'h' 六边形标记1

'H' 六边形标记2

'+' 加号标记

'x' x 标记

'D' 钻石标记

'd' 薄钻石标记

'|' 竖线标记

'_' 横线标记

color颜色属性

matplotlib中的颜色值是存储在matplotlib.colors.cnames中,而cnames属性是一个字典类型,其中定义了matplotlib中所能使用的所有颜色样式。

>>>len(matplotlib.colors.cnames.keys())

148

>>>for name , hex in matplotlib.colors.cnames.items(): print(name, ':' , hex)

aliceblue : #F0F8FF

antiquewhite : #FAEBD7

aqua : #00FFFF

aquamarine : #7FFFD4

azure : #F0FFFF

beige : #F5F5DC

bisque : #FFE4C4

black : #000000

blanchedalmond : #FFEBCD

blue : #0000FF

blueviolet : #8A2BE2

brown : #A52A2A

burlywood : #DEB887

cadetblue : #5F9EA0

chartreuse : #7FFF00

chocolate : #D2691E

coral : #FF7F50

cornflowerblue : #6495ED

cornsilk : #FFF8DC

crimson : #DC143C

cyan : #00FFFF

darkblue : #00008B

darkcyan : #008B8B

darkgoldenrod : #B8860B

darkgray : #A9A9A9

darkgreen : #006400

darkgrey : #A9A9A9

darkkhaki : #BDB76B

darkmagenta : #8B008B

darkolivegreen : #556B2F

darkorange : #FF8C00

darkorchid : #9932CC

darkred : #8B0000

darksalmon : #E9967A

darkseagreen : #8FBC8F

darkslateblue : #483D8B

darkslategray : #2F4F4F

darkslategrey : #2F4F4F

darkturquoise : #00CED1

darkviolet : #9400D3

deeppink : #FF1493

deepskyblue : #00BFFF

dimgray : #696969

dimgrey : #696969

dodgerblue : #1E90FF

firebrick : #B22222

floralwhite : #FFFAF0

forestgreen : #228B22

fuchsia : #FF00FF

gainsboro : #DCDCDC

ghostwhite : #F8F8FF

gold : #FFD700

goldenrod : #DAA520

gray : #808080

green : #008000

greenyellow : #ADFF2F

grey : #808080

honeydew : #F0FFF0

hotpink : #FF69B4

indianred : #CD5C5C

indigo : #4B0082

ivory : #FFFFF0

khaki : #F0E68C

lavender : #E6E6FA

lavenderblush : #FFF0F5

lawngreen : #7CFC00

lemonchiffon : #FFFACD

lightblue : #ADD8E6

lightcoral : #F08080

lightcyan : #E0FFFF

lightgoldenrodyellow : #FAFAD2

lightgray : #D3D3D3

lightgreen : #90EE90

lightgrey : #D3D3D3

lightpink : #FFB6C1

lightsalmon : #FFA07A

lightseagreen : #20B2AA

lightskyblue : #87CEFA

lightslategray : #778899

lightslategrey : #778899

lightsteelblue : #B0C4DE

lightyellow : #FFFFE0

lime : #00FF00

limegreen : #32CD32

linen : #FAF0E6

magenta : #FF00FF

maroon : #800000

mediumaquamarine : #66CDAA

mediumblue : #0000CD

mediumorchid : #BA55D3

mediumpurple : #9370DB

mediumseagreen : #3CB371

mediumslateblue : #7B68EE

mediumspringgreen : #00FA9A

mediumturquoise : #48D1CC

mediumvioletred : #C71585

midnightblue : #191970

mintcream : #F5FFFA

mistyrose : #FFE4E1

moccasin : #FFE4B5

navajowhite : #FFDEAD

navy : #000080

oldlace : #FDF5E6

olive : #808000

olivedrab : #6B8E23

orange : #FFA500

orangered : #FF4500

orchid : #DA70D6

palegoldenrod : #EEE8AA

palegreen : #98FB98

paleturquoise : #AFEEEE

palevioletred : #DB7093

papayawhip : #FFEFD5

peachpuff : #FFDAB9

peru : #CD853F

pink : #FFC0CB

plum : #DDA0DD

powderblue : #B0E0E6

purple : #800080

rebeccapurple : #663399

red : #FF0000

rosybrown : #BC8F8F

royalblue : #4169E1

saddlebrown : #8B4513

salmon : #FA8072

sandybrown : #F4A460

seagreen : #2E8B57

seashell : #FFF5EE

sienna : #A0522D

silver : #C0C0C0

skyblue : #87CEEB

slateblue : #6A5ACD

slategray : #708090

slategrey : #708090

snow : #FFFAFA

springgreen : #00FF7F

steelblue : #4682B4

tan : #D2B48C

teal : #008080

thistle : #D8BFD8

tomato : #FF6347

turquoise : #40E0D0

violet : #EE82EE

wheat : #F5DEB3

white : #FFFFFF

whitesmoke : #F5F5F5

yellow : #FFFF00

yellowgreen : #9ACD32

这些颜色值对应的图片如下,收藏已备后用哦。

颜色名称对应关系图示

matplotlib中的关于点、线的样式及颜色属性就介绍到这里了。需要知道的是,这些属性值是可以通用的。比如在划线时可以使用这些属性,在画柱形图、雷达图、饼图时,这些属性也都是通用的。

这些方式是通用的

现在理解上面的'-b'和'r-'的作用了吧?表示绘制颜色为绿色或者红色的实线。

好了,今天的内容就到这里了,我们梳理了matplotlib中关于点、线的颜色及样式属性,这是很重要的,因为很多图我们在实际绘制过程中都是通过点线的组合来实现的。这些颜色及线条样式建议大家收藏,以备后用。

喜欢的朋友们加个关注,后续推出更有意思的内容,还想学习哪些有关Python编程的重要知识点和内容呢?欢迎下方留言,我会陆续跟大家分享相关内容。

转载请注明出处,百家号:Python高手养成

python中plot的plt.text_用Python进行数据可视化的第一步,全面详解matplotlib中样式属性...相关推荐

  1. 如何用python画数据图-用Python如何画出数据可视化图呢?本文详解

    python画分布图代码示例: # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * # 支持中文 mpl.rcPa ...

  2. Python量化投资——投资组合的评价和可视化(下):使用Matplotlib生成专业的投资回测数据可视化仪表盘【源码+详解】

    使用Matplotlib生成专业的数据可视化仪表盘(下篇) 投资结果的可视化(下篇) 图表的布局规划及格式设定 图表布局 格式设定 表头和回测结果摘要信息 表1:绘制收益率曲线图 1,绘制投资收益率以 ...

  3. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  4. python socket自动重连_详解python3中socket套接字的编码问题解决

    一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...

  5. Python 装饰器详解(中)

    Python 装饰器详解(中) 转自:https://blog.csdn.net/qq_27825451/article/details/84581272,博主仅对其中 demo 实现中不适合pyth ...

  6. python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  7. python中可变参数*args传入函数时的存储方式为_python 中文读法详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  8. python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...

  9. Python电影爬虫,用Excel存储并进行数据可视化分析

    目录 一.爬取网页数据 1.分析网页 (1)网页数据类型 (2)不同类型电影排行榜 url 的区别 电影分类对应关系表 2.编写爬虫 (1)先寻找网页的 url (2)编写请求中使用的相应数据 (3) ...

最新文章

  1. python快速获取多个列表的所有组合形式
  2. 继续聊WPF——动态数据模板
  3. 解压zip,解决中文乱码
  4. 百练 01 Charm Bracelet
  5. 重载(Overload)和重写(Overide)
  6. 在win7 64位上安装VS2015的问题汇总
  7. 堆排序时间复杂度的计算过程
  8. AI 图像识别项目从入门到上线
  9. 北大青鸟的java课程_北大青鸟Java课程
  10. ios 集成阿里云推送通知的注意点
  11. Linux Kernel PANIC(一)--概述(Hard Panic/Aieee和Soft Panic/Oops)
  12. LVS+Nginx实现高可用集群
  13. 天大《西方经济学》大作业期末考核
  14. 【2012NOIP普及组】T1. 质因数分解 试题解析
  15. iWO联通3G详单及套餐使用情况查询工具)更新至v0.8.2
  16. git 命令 导出有变动的文件
  17. 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和7升。问题是如何只用这2个水壶从池塘里取得6升的水?
  18. 摩王软件OA+系统功能简介
  19. 【iPhone12充电接触不良充不上电的终极解决--90%有效】
  20. 入秋这么穿,没人比你更优雅

热门文章

  1. Import error: no module named cv2 错误解决方法
  2. Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题
  3. java.net.SocketException四大异常解决方案
  4. 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
  5. 如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法
  6. 如何混淆(保护)JavaScript? [关闭]
  7. python multiprocessing模块
  8. iOS使用shell脚本批量修改属性
  9. Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)
  10. 携程Apollo(阿波罗)配置中心本地开发模式不接入配置中心进行本地开发