python中plot的plt.text_用Python进行数据可视化的第一步,全面详解matplotlib中样式属性...
上篇内容我们详细了解了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中样式属性...相关推荐
- 如何用python画数据图-用Python如何画出数据可视化图呢?本文详解
python画分布图代码示例: # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * # 支持中文 mpl.rcPa ...
- Python量化投资——投资组合的评价和可视化(下):使用Matplotlib生成专业的投资回测数据可视化仪表盘【源码+详解】
使用Matplotlib生成专业的数据可视化仪表盘(下篇) 投资结果的可视化(下篇) 图表的布局规划及格式设定 图表布局 格式设定 表头和回测结果摘要信息 表1:绘制收益率曲线图 1,绘制投资收益率以 ...
- mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数
<Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...
- python socket自动重连_详解python3中socket套接字的编码问题解决
一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...
- Python 装饰器详解(中)
Python 装饰器详解(中) 转自:https://blog.csdn.net/qq_27825451/article/details/84581272,博主仅对其中 demo 实现中不适合pyth ...
- python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- python中可变参数*args传入函数时的存储方式为_python 中文读法详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...
- Python电影爬虫,用Excel存储并进行数据可视化分析
目录 一.爬取网页数据 1.分析网页 (1)网页数据类型 (2)不同类型电影排行榜 url 的区别 电影分类对应关系表 2.编写爬虫 (1)先寻找网页的 url (2)编写请求中使用的相应数据 (3) ...
最新文章
- python快速获取多个列表的所有组合形式
- 继续聊WPF——动态数据模板
- 解压zip,解决中文乱码
- 百练 01 Charm Bracelet
- 重载(Overload)和重写(Overide)
- 在win7 64位上安装VS2015的问题汇总
- 堆排序时间复杂度的计算过程
- AI 图像识别项目从入门到上线
- 北大青鸟的java课程_北大青鸟Java课程
- ios 集成阿里云推送通知的注意点
- Linux Kernel PANIC(一)--概述(Hard Panic/Aieee和Soft Panic/Oops)
- LVS+Nginx实现高可用集群
- 天大《西方经济学》大作业期末考核
- 【2012NOIP普及组】T1. 质因数分解 试题解析
- iWO联通3G详单及套餐使用情况查询工具)更新至v0.8.2
- git 命令 导出有变动的文件
- 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和7升。问题是如何只用这2个水壶从池塘里取得6升的水?
- 摩王软件OA+系统功能简介
- 【iPhone12充电接触不良充不上电的终极解决--90%有效】
- 入秋这么穿,没人比你更优雅
热门文章
- Import error: no module named cv2 错误解决方法
- Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题
- java.net.SocketException四大异常解决方案
- 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
- 如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法
- 如何混淆(保护)JavaScript? [关闭]
- python multiprocessing模块
- iOS使用shell脚本批量修改属性
- Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)
- 携程Apollo(阿波罗)配置中心本地开发模式不接入配置中心进行本地开发