matplotlib.pyplot.plot()参数详解、线形图、条形图、散点图、饼状图、画布大小、位置、颜色、标题、图例、坐标轴刻度设置 实例详解
文章目录
- matplotlib.pyplot.plot()绘图文档
- 1. plot函数的一般的调用形式:
- 2. 参数fmt,以及一些常用参数举例
- 3.一些图形的绘制
- 1.线形图plt
- 2. 柱形图/条形图 plt.bar,plt.barh
- 3. 散点图plt.scatter
- 4. 饼图plt.pie
- 5. 画布设置
- 5.1 画布大小plt.figure、位置plt.subplot、网格设置grid
- 3.设置标题plt.title,坐标轴标签 plt.xlabel、plt.ylabel,颜色等
- 4. 设置图例 plt.legend()
matplotlib.pyplot.plot()绘图文档
在交互环境中查看英文帮助文档:
import matplotlib.pyplot as plt
help(plt.plot)
1. plot函数的一般的调用形式:
####单条线:
plot([x], y, [fmt], data=None, **kwargs)
####多条线一起画
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)
2. 参数fmt,以及一些常用参数举例
可选参数[fmt] 是一个字符串来定义图的基本属性如:颜色(color),点型(marker),线型(linestyle),
具体形式 fmt = ‘[color][marker][line]’,如指定fmt为’bo-’ # 蓝色圆点实线
fmt接收的是每个属性的单个字母缩写,例如:plot(x, y, ‘bo-’) # 蓝色圆点实线
若属性用的是全名则不能用fmt参数来组合赋值,应该用关键字参数对单个属性赋值如:
plot(x,y2,color=‘green’, marker=‘o’, linestyle=‘dashed’, linewidth=1, markersize=6)
(1) 其中常见的颜色参数:colors
也可以对关键字参数color赋十六进制的RGB字符串如 color=’#900302’
============= ===============================
character color
============= ===============================
``'b'`` blue 蓝
``'g'`` green 绿
``'r'`` red 红
``'c'`` cyan 蓝绿
``'m'`` magenta 洋红
``'y'`` yellow 黄
``'k'`` black 黑
``'w'`` white 白
(2) 点型参数Markers
用关键字参数对单个属性赋值,如:marker=’+'这个只有简写,英文描述不被识别
============= ===============================
character description
============= ===============================
``'.'`` 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 x标记
``'D'`` diamond marker 方菱形标记
``'d'`` thin_diamond marker 瘦菱形标记
``'|'`` vline marker 竖线标记
``'_'`` hline marker 下划线标记
(3) 线型参数Line Styles,
用关键字参数对单个属性赋值,如:linestyle=’-’
============= ===============================
character description
============= ===============================
``'-'`` solid line style 实线
``'--'`` dashed line style 虚线
``'-.'`` dash-dot line style 点画线
``':'`` dotted line style 点线
============= ===============================
3.一些图形的绘制
1.线形图plt
data1 = Series(data=[20000, 26000, 30000, 36000, 45000, 55000, 56000, 58000, 57000],index=[2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018], name='beijing')
data2 = Series(data=[6000, 6500, 8000, 8000, 8500, 8800, 10000, 12000, 20000],index=[2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018], name='chengdu')
data3 = Series(data=[10000, 12500, 13000, 14000, 15500, 15800, 20000, 23000, 30000],index=[2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018], name='guangzhou')
price = DataFrame({'beijing': data1,'chengdu': data2,'guangzhou': data3
})
# DataFrame绘制线型图,每一列成为一条线,表示每一个特征的走势,有几个特征就绘制几条数据线
print(price)
price.plot()
plt.show()# 只含单一曲线的图
# •1、可以使用多个plot函数(推荐),在一个图中绘制多个曲线
# •2、也可以在一个plot函数中传入多对X,Y值,在一个图中绘制多个曲线
plt.plot(data1.index, data1.values)
plt.plot(data2.index, data2.values)
plt.show()
# 上下两个结果一致
plt.plot(data1.index, data1.values, data2.index, data2.values)
plt.show()
2. 柱形图/条形图 plt.bar,plt.barh
#series方式 # python_score = Series(data=np.random.randint(0, 100, size=5), index=['class1', 'class2', 'class3', 'class4', 'class5'],)
# dataFrame方式
python_score = pd.DataFrame(data=[np.random.randint(0, 100, size=5), np.random.randint(0, 100, size=5), np.random.randint(0, 100, size=5),np.random.randint(0, 100, size=5), np.random.randint(0, 100, size=5)],index=['class1', 'class2', 'class3', 'class4', 'class5'], columns=[1, 2, 3, 4, 5])
print(python_score)
python_score.plot(kind='bar')
plt.show()
# 条形图
# 横向条形图
# x index
# height values
# width 条形宽度
# plt.bar(data1.index,data1.values,width=0.9)# 纵向条形图
# y index
# data1.indewidth values
# height 条形宽度
plt.barh(data1.index, data1.values, height=0.9)
plt.show()
3. 散点图plt.scatter
x = np.linspace(0, 2 * np.pi, 40)
# 正弦
y = np.sin(x)
# 余弦
z = np.cos(x)sin_func = DataFrame({'x': x,'y': y,'z': z
})
# x、y 表示映射在x\y轴的数据
sin_func.plot(kind='scatter', x='y', y='z')
plt.show()
4. 饼图plt.pie
# 饼图的外观设置
# labels参数设置每一块的标签;
# labeldistance参数设置标签距离圆心的距离(比例值,只能设置一个浮点小数)
# autopct参数设置比例值的显示格式(%1.1f%%);
# pctdistance参数设置比例值文字距离圆心的距离
# explode参数设置每一块顶点距圆形的长度(比例值,列表);
# colors参数设置每一块的颜色(列表);
# shadow参数为布尔值,设置是否绘制阴影
# startangle参数设置饼图起始角度data = [4, 2, 3, 1, 1]
values = plt.pie(data, labels=['小学', '初中', '高中', '大学', '现在'], labeldistance=0.7,autopct='%.2f%%', pctdistance=0.5, explode=[0, 0, 0, 0, 0.2],colors=['yellow', 'cyan', 'purple', 'orange', 'blue'], shadow=True,startangle=90)
5. 画布设置
5.1 画布大小plt.figure、位置plt.subplot、网格设置grid
x = np.linspace(0, 2 * np.pi, 100)
# figure对象就是父画布对象,可以在figure方法里调整父画布大小
figure = plt.figure(figsize=(8, 5))# 一个画布中可以存在多个子画布对象
# 下面演示如何设置子画布的位置
# subplot 1.切分的行数 2.切分的列数,3.按照前两者的切分方式字画布的放置位置(从1开始)
# subplot参数只是为了描述子画布位置的虚拟数据,并不是真的把父试图进行切割
# 如果两个子画布有重叠的区间,后绘制的画布会覆盖先绘制的
axes1 = plt.subplot(2, 2, 1)
axes1.plot(x, np.sin(x))
axes1.grid(axis='x', linewidth=3)axes2 = plt.subplot(2, 2, 2)
axes2.plot(x, x)# grid设置网格
# color html颜色都支持
# linewidth 整数
# alpha 0-1 浮点
# axis x,y,both 开启网格线的方向设置
axes2.grid(color='red', alpha=0.5)axes3 = plt.subplot(223)
axes3.plot(x, np.cos(x))
axes3.grid(axis='y')axes4 = plt.subplot(224)
axes4.plot(x, x ** 2)
axes4.grid()
plt.show()
3.设置标题plt.title,坐标轴标签 plt.xlabel、plt.ylabel,颜色等
#使用plt设置 fontsize 标题大小,color 是颜色 ro
plt.plot(data1.index, data1.values)
plt.xlabel('years', fontsize=15, color='green')
plt.ylabel('price', fontsize=15, color='red', rotation=60)
plt.title('years-price',fontsize=20,color='orange',rotation=50)
plt.show()# 子画布时使用以下
axes = plt.subplot(122)
axes.plot(data1.index, data1.values)
axes.set_xlabel('years', fontsize=15, color='green')
axes.set_ylabel('price', fontsize=15, color='red', rotation=60)
axes.set_title('years-price',fontsize=20,color='orange')
plt.show()
4. 设置图例 plt.legend()
分别设置每一条线的标签,然后再调用plt.legend来显示
plt.plot(data1.index,data1.values,label='beijing')
plt.plot(data2.index,data2.values,label=data2.name)
plt.plot(data3.index,data3.values,label=data3.name)
plt.legend()
plt.show()
5.线的外观设置
•linestyle(ls) 设置线的风格
•linewidth(lw) 设置线宽
•alpha 透明度
•color 颜色
•marker 点形
•markersize 点大小
•markeredagecolor 点的边界颜色
•markeredagewidth 点的边界宽度
•markerfacecolor 点的主体颜色
线的模式
linestyle 参数 ls
----.:\steps\dashes
plt.plot(data1.index,data1.values,ls='steps')
plt.show()
6.设置坐标轴刻度 plt.xticks
x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
plt.plot(x, y)
# 如果没有制定刻度标签,则以真实值作为刻度标签展示
# plt.xticks([0,np.pi/2,np.pi,3*np.pi/2,2*np.pi],[0,'Π/2','Π','3Π/2','2Π'])
plt.xticks([0, np.pi / 2, np.pi, 3 * np.pi / 2, 2 * np.pi], [110, 120, 119, 911, 114])
plt.yticks([-1, 0, 1], ['min', 0, 'max'])
plt.show()
matplotlib.pyplot.plot()参数详解、线形图、条形图、散点图、饼状图、画布大小、位置、颜色、标题、图例、坐标轴刻度设置 实例详解相关推荐
- python饼状图顺时针_Python:饼状图 (二十七)
饼状图 饼状图是一种常见的单变量图形,用于描绘分类变量级别的相对频率.饼图中的频率用圆形的扇区表示:角度或面积越大,该分类值就越常见. 遗憾的是,饼状图是一种应用场合很有限的图形类型,图形创建者很容易 ...
- 使用matplotlib绘制图形(条形图,饼状图,散点图,直方图)
安装 pip install matplotlib 图形的基础绘制 from matplotlib import pyplot as plt# 设置图形大小,figure图形图像的意思,在这里指的是我 ...
- python饼状图颜色一样_python数据可视化:折线图、条形图、饼状图显示
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. matplotlib是Python的一个强大的2D图形绘制库,使用需要安装 ...
- python数据可视化:折线图、条形图、饼状图显示
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. matplotlib是Python的一个强大的2D图形绘制库,使用需要安装 ...
- 饼状图——可更改饼状图背景颜色,以及标签字体大小,颜色,并在图内显示百分数
原始数据如下:第一列为序号,第二列是主频值,第三列是振幅值. import matplotlib.pyplot as plt import pandas as pd import numpy as n ...
- mysql生成饼状图_ECharts制作饼状图
本文结合实例给大家分享站长们常常用到的网站分析工具中的访问来源功能,我们使用Echarts制作饼状图,用于表现不同类目(访问来源)的数据在总和中的占比. HTML 和前几篇文章介绍的一样,首先引入Ec ...
- matplotlib.pyplot.plot()参数详解
在交互环境中查看英文帮助文档: import matplotlib.pyplot as plt help(plt.plot) 1. plot函数的一般的调用形式: #单条线: plot([x], y, ...
- Matplotlib雷达图、三维饼状图
雷达图 雷达图又称戴布拉图.蜘蛛网图,可以很好刻画出某些指标的横向或纵向的对比关系 雷达图通常用于多想指标的全面分析. 比如:HR想要比较两个应聘者的综合素质,用雷达图分别画出来,就可以进行直观的比较 ...
- matplotlib.pyplot.plot 用法详解
python matplotlib演示官网 https://matplotlib.org/xkcd/users/pyplot_tutorial.html https://matplotlib.org/ ...
最新文章
- C++_复合、委托、继承
- Java的java.util.function.Function接口中identity方法解析
- C/C++ VS中调用matlab函数的方法
- vue computed 源码分析
- CA计划6.14亿美元收购安全测试公司Veracode
- Android 第十五课 如何使用LitePal从SQLite数据库中删除数据(十四课用来保留讲解如何向SQLite数据库中存入数据)
- 运用tp5上传图片,并生成缩略图
- AI实战分享 | 基于CANN的辅助驾驶应用案例
- mysql auto_increment建表_如何在MySQL中已创建的表中插入AUTO_INCREMENT
- Trimble天宝水准仪维修DINI03全站仪/电子水准仪维修特点
- 云erp系统、进销存软件、仓储管理系统之间有哪些区别
- 天然气阶梯是按年还是按月_天然气阶梯不是明年1月1号开始么?怎么现在充气就限量了...
- 算法学习(十九)——A3C
- rs485接口上下拉_RS485使用注意事项(上下拉电阻)
- Windows安全加固简介
- finecms aip.php漏洞,通杀FineCMS5.0.8及版本以下getshell的漏洞
- 华为鸿蒙即兴评述,华为的理性,鸿蒙的节奏
- VMP虚拟机(加壳原理)
- 索尼手机android怎么连,索尼SmartWatch 2 SW2 连接手机图文教程
- 武汉:“大象转身”,“中国车都”变“中国车谷”的二段跨越
热门文章
- wincc显示系统时间_在WINCC画面组态中,如何显示系统时间?-工业支持中心-西门子中国...
- 对于亚马逊测评的全面讲解
- 计算机 我们一起学猫叫歌词,我们一起学猫叫一起喵喵喵喵是什么歌?附抖音学猫叫歌词大全...
- 2021年全球身份验证服务行业调研及趋势分析报告
- 一招解决robotframework报错“command: pybot.bat --argumentfile”
- 软件测试的学习笔记(5)
- 【MSFconsole进阶】Nops(空指令模块):作用、使用方法
- 95后自述,00后都这么卷了吗?
- 计算机设备替换方案,IT之家学院:第二代WP改机型升级FCU报错0x80070273的解决方案...
- 驾考系统设计-java