Matplotlib文档链接:https://matplotlib.org/api/pyplot_summary.html
Matplotlib中文文档:https://www.matplotlib.org.cn/
实例参考:https://www.data-blogger.com/2017/11/15/python-matplotlib-pyplot-a-perfect-combination/
对于Python来说,Matplotlib是最著名的绘图库,它主要用于二维绘图,当然它也可以进行简单的三维绘图(基于spyder)。
一: 各参数详解:
| 功能 | 描述 |
|---|---|
acorr | 绘制x的自相关。 |
angle_spectrum | 绘制角度谱图。 |
annotate | 用文本文本注释点xy。 |
arrow | 向轴添加箭头。 |
autoscale | 将轴视图自动缩放到数据(切换)。 |
axes | 将轴添加到当前图形并使其成为当前轴。 |
axhline | 在轴上添加水平线。 |
axhspan | 在轴上添加水平跨度(矩形)。 |
axis | 获取或设置某些轴属性的便捷方法。 |
axvline | 在轴上添加垂直线。 |
axvspan | 在轴上添加垂直跨度(矩形)。 |
bar | 制作条形图。 |
barbs | 绘制倒钩的二维场。 |
barh | 制作水平条形图。 |
box | 在当前轴上打开或关闭轴框。 |
boxplot | 制作一个盒子和胡须图。 |
broken_barh | 绘制一个水平的矩形序列。 |
cla | 清除当前轴。 |
clabel | 标记等高线图。 |
clf | 清除当前数字。 |
clim | 设置当前图像的颜色限制。 |
close | 关闭一个数字窗口。 |
cohere | 绘制x和y之间的一致性。 |
colorbar | 将颜色条添加到绘图中。 |
contour | 绘制轮廓。 |
contourf | 绘制轮廓。 |
csd | 绘制交叉谱密度。 |
delaxes | 从图中移除Axes 斧头(默认为当前轴)。 |
draw | 重绘当前数字。 |
errorbar | 将y与x绘制为带有附加错误栏的行和/或标记。 |
eventplot | 在给定位置绘制相同的平行线。 |
figimage | 将未重采样的图像添加到图中。 |
figlegend | 在图上放置一个图例。 |
fignum_exists | 返回是否存在具有给定id的数字。 |
figtext | 添加文字到图。 |
figure | 创建一个新的数字。 |
fill | 绘制填充多边形。 |
fill_between | 在两条水平曲线之间填充区域。 |
fill_betweenx | 在两条垂直曲线之间填充区域。 |
findobj | 查找艺术家对象。 |
gca | 获取与Axes给定关键字args匹配的当前数字的当前实例,或创建一个实例。 |
gcf | 获取当前数字。 |
gci | 获得当前可着色的艺术家。 |
get_figlabels | 返回现有图形标签的列表。 |
get_fignums | 返回现有图号的列表。 |
grid | 配置网格线。 |
hexbin | 制作六边形分箱图。 |
hist | 绘制直方图。 |
hist2d | 制作2D直方图。 |
hlines | 在每个y处绘制从xmin到xmax的水平线。 |
imread | 将文件中的图像读入数组。 |
imsave | 将数组保存为图像文件。 |
imshow | 显示图像,即 |
install_repl_displayhook | 安装一个repl显示挂钩,以便在将控件返回到repl时自动重绘任何过时的图形。 |
ioff | 关闭交互模式。 |
ion | 打开交互模式。 |
isinteractive | 返回交互模式的状态。 |
legend | 在轴上放置图例。 |
locator_params | 主要滴答定位器的控制行为。 |
loglog | 在x轴和y轴上绘制具有对数缩放的绘图。 |
magnitude_spectrum | 绘制幅度谱。 |
margins | 设置或检索自动缩放边距。 |
matshow | 在新的图形窗口中将数组显示为矩阵。 |
minorticks_off | 从轴上移除次要刻度。 |
minorticks_on | 在轴上显示次要刻度。 |
pause | 暂停间隔秒。 |
pcolor | 使用非常规矩形网格创建伪彩色图。 |
pcolormesh | 使用非常规矩形网格创建伪彩色图。 |
phase_spectrum | 绘制相位谱。 |
pie | 绘制饼图。 |
plot | 绘制y与x作为线和/或标记。 |
plot_date | 绘制包含日期的数据。 |
plotfile | 将数据绘制在文件中。 |
polar | 做一个极地情节。 |
psd | 绘制功率谱密度。 |
quiver | 绘制箭头的2D场。 |
quiverkey | 将一个键添加到箭袋图中。 |
rc | 设置当前的rc参数。 |
rc_context | 返回上下文管理器以管理rc设置。 |
rcdefaults | 从Matplotlib的内部默认样式恢复rc参数。 |
rgrids | 获取或设置当前极坐标图上的径向网格线。 |
savefig | 保存当前数字。 |
sca | 将当前Axes实例设置为ax。 |
scatter | y与x的散点图,具有不同的标记大小和/或颜色。 |
sci | 设置当前图像。 |
semilogx | 在x轴上绘制带对数刻度的绘图。 |
semilogy | 在y轴上绘制具有对数缩放的图。 |
set_cmap | 设置默认色彩映射。 |
setp | 在艺术家对象上设置属性。 |
show | 显示一个数字。 |
specgram | 绘制频谱图。 |
spy | 绘制2D数组的稀疏模式。 |
stackplot | 绘制堆积区域图。 |
stem | 创建一个词干图。 |
step | 制作一个步骤图。 |
streamplot | 绘制矢量流的流线型。 |
subplot | 在当前图中添加子图。 |
subplot2grid | 在常规网格内的特定位置创建轴。 |
subplot_tool | 启动图的子图工具窗口。 |
subplots | 创建一个图形和一组子图。 |
subplots_adjust | 调整子图布局。 |
suptitle | 为图中添加居中标题。 |
switch_backend | 关闭所有打开的数字并设置Matplotlib后端。 |
table | 添加一个表到Axes。 |
text | 向轴添加文本。 |
thetagrids | 获取或设置当前极坐标图上的θ网格线。 |
tick_params | 更改刻度,刻度标签和网格线的外观。 |
ticklabel_format | 更改ScalarFormatter线性轴的默认使用。 |
tight_layout | 自动调整子图参数以指定填充。 |
title | 设置轴的标题。 |
tricontour | 在非结构化三角形网格上绘制轮廓。 |
tricontourf | 在非结构化三角形网格上绘制轮廓。 |
tripcolor | 创建非结构化三角形网格的伪彩色图。 |
triplot | 绘制非结构化三角形网格作为线条和/或标记。 |
twinx | 制作并返回共享x轴的第二个轴。 |
twiny | 制作并返回共享y轴的第二个轴。 |
uninstall_repl_displayhook | 卸载matplotlib显示挂钩。 |
violinplot | 制作小提琴情节。 |
vlines | 绘制垂直线。 |
xcorr | 绘制x和y之间的互相关。 |
xkcd | 打开xkcd草图样式绘图模式。 |
xlabel | 设置x轴的标签。 |
xlim | 获取或设置当前轴的x限制。 |
xscale | 设置x轴刻度。 |
xticks | 获取或设置当前刻度线位置和x轴标签。 |
ylabel | 设置y轴的标签。 |
ylim | 获取或设置当前轴的y限制。 |
yscale | 设置y轴刻度。 |
yticks | 获取或设置y轴的当前刻度位置和标签。 |
注:经翻译得来,中文解释有不同
plot参数
基本折线图不能满足,这时就需plot的参数来进行调整
美化示例:
import matplotlib.pyplot as plt yy=[1,2,3,4,5,4,2,4,6,7]#随便创建了一个数据 xx=[3,5,4,1,2,3,4,5,6,3] zz=[2,3,4,6,4,3,2,4,5,6] plt.plot(yy,color='r',linewidth=5,linestyle=':',label='数据一')#color指定线条颜色,labeL标签内容 plt.plot(xx,color='g',linewidth=2,linestyle='--',label='数据二')#linewidth指定线条粗细 plt.plot(zz,color='b',linewidth=0.5,linestyle='-',label='数据三')#linestyle指定线形为点 plt.legend(loc=2)#标签展示位置,数字代表标签具位置 plt.xlabel('X轴称') plt.ylabel('Y轴的名称') plt.title('2018.7.30折线图示例') plt.ylim(0,10)#Y轴标签范围为0-10

plt常用参数有
官网详细说明点这里
属性 描述 xlabel 设置当前轴的x轴标签:plt.xlabel(‘X标签名’) ylabel 设置当前轴的y轴标签:plt.xlabel(‘y标签名’) title 设置当前轴的标题:plt.title(‘图例标题名’) ylim 获取或设置当前轴的y限制,plt.ylim(0,6)Y轴范围0-6;Xlim同理懒的写了 legend 在轴上放置图例:legend()无参数自动识别,也可用数字指定位置1,2,3,4试着来 show 展示所画图,spyder一般直接运行不需要此步 grid plt.grid()打开或关闭轴网格,网格一样能设置颜色线型 rcParams[‘font.sans-serif’] 图表中文字体:plt.rcParams[‘font.sans-serif’]=[‘SimHei’]微软雅黑;或=[‘Microsoft Yahei’]黑体 rcParams[‘axes.unicode_minus’] 图表轴负数符号显示问题:plt.rcParams[‘axes.unicode_minus’] = False
plt常画图例有:
官网详细说明点这里
属性 描述 plot 绘制y与x作为线和/或标记。 plot_date 绘制包含日期的数据。 acorr 绘制x的自相关。 axhline 在轴上添加一条水平线。 bar 制作条形图。 barh 制作一个水平条形图。 hist 绘制直方图 hist2d 制作2D直方图。 scatter y与x的散点图,具有不同的标记大小和/或颜色。 stackplot 绘制堆积区域图。
plot常用参数有:
官网详细说明点这里
属性 描述 color 字体颜色:color=‘r’;b、g、r、c、m、y、k、w 或者blue、green、red、cyan、magenta、yellow、black、whtite 或十六进制字符串(’#008000’) linewidth 线条粗细:linewidth=1.=5.=0.3 linestyle 线条形状:linestyle=’–’(虚线);linestyle=’:’(点线);linestyle=’-.’(短线加点); label 数据标签内容:label=‘数据一’,数据标签展示位置需另说明plt.legend(loc=1)数字为标签位置
示例:
import pandas as pd #导入pandas库 import pymysql as mysql #导入mysql库 import matplotlib.pyplot as plt #导入数据可视化库 import numpy as np #导入numpy库 plt.rcParams['font.sans-serif'] = ['Microsoft Yahei'] #指定文字字体格式为微软雅黑字段 plt.rcParams['axes.unicode_minus'] = False connection=mysql.connect(host='数据库ip',port='端口',user='用户账号',password='登录密码',db='连接的库名',charset='utf8')#设置连接数据库的参数 select=connection.cursor()#创建游标 select.execute("SELECT * FROM tabel")#写入SQL查询语句 zd=list((pd.DataFrame(list(select.description)))[0])#获取查询结果的列名 sqldata=select.fetchall()#获取查询结果 select.close #关闭查询 connection.close #关闭数据库接接 data1=pd.DataFrame(list(sqldata)) #将数据转化成df类型 data1.columns=zd #将列名重置为查询结果列名 plt.figure(figsize=(10,5)) #设置图表大小,长10,宽5 plt.plot(data1['机器A拟合度'],label='机器A准确率',color='#aa0000',linestyle='-',linewidth=3)#画机器A准确率的线条 plt.plot(data1['人工A拟合度'],label='人工A准确率',color='#aa0000',linestyle=':',linewidth=3)#画人工A准确率的线条 plt.plot(data1['机器B拟合度'],label='机器B准确率',color='#666666',linestyle='-',linewidth=3)#画机器B准确率的线条 plt.plot(data1['人工B拟合度'],label='人工B准确率',color='#666666',linestyle=':',linewidth=3)#画人工B准确率的线条 plt.plot([0,7],[0.9,0.9],color='g',linestyle='-.',linewidth=1)#画一根绿色的辅助线,x轴从0到7,Y轴为0.9 plt.xticks(np.arange(8),('wk23','wk24','wk25','wk26','wk27','wk28','wk29','wk30'))#更改图表X标签为制定内容 plt.legend(loc=4)#将图例说明放在图表的右下角 plt.title('人机绝对准确率6.4-7.29',fontsize=20)#命名图表名称,设置字体大小 plt.xlabel('周',fontsize=20)#设置X轴名称及字体大小 plt.ylabel('准确率%',fontsize=20)#设置Y轴名称及字体大小

三:参数对应:
常用color
color大全见文末(颜色-文字对照图):
| w | white |
| b | blue |
| g | green |
| r | red |
| c | cyan |
| m | magenta |
| y | yellow |
| k | black |
Marker常见参数
所有marker官网链接。

线的color大全

常用参数介绍:
- lable:设定坐标线的标签, e.g.ax1.plot(x1, y1, label='x的label')
- title:设定标题。e.g. plt.title('title_name')
- y :纵坐标。
- x :默认为[0, 1, ... , N-1],可手动设定。
- data:是:一个自带坐标标签(lable)的数据。如果指定,x坐标y坐标将会显示数据源标签名称;
- color:设定线的颜色;
- marker:设定节点的样式;
- alpha:设定图的透明度,取值范围是[0,1]。
- plt.plot(data) 等价于 plt.plot(data, 'k-') ,等价于 plt.plot(y=data, kind='line', color='k', linestyle='line'),表示k黑色、o圆节点、- 连续连接线(连接2个O形点);
- plt.plot()如果没有连接节点的linestyle参数,结果将为散点图。
**kwargs参数部分
- ls 或者 linestyle:设定折线的格式,[文字表述版为‘ solid’, 'dashed', 'dashdot', 'dotted'],符号表述版[ '-', '--', '-.', ':'];
- lw 或者 linewidth:设定折线的宽度,
- drawstyle:指定画图的格式,比如drawstyle='steps-post',即阶梯图线;
- ms 或者markersize:设定大小;
- mec 或者markeredgecolor:设定边框的颜色;
- mew 或者markeredgewidth:设定边框粗细的值;
- mfc 或者markerfacecolor:设定填充的颜色;
- ax1.set_xlable:设定ax1(子图)x坐标的名称
- ax1.set_ylable:设定ax1(子图)y坐标的名称
参考实例:
实例1: # 使用matplotlib绘制折线图 import matplotlib.pyplot as plt import numpy as np # 在一个图形中创建两条线 fig = plt.figure(figsize=(10,6)) ax1 =fig.add_subplot(1,1,1) ax1.set_xlabel('number') ax1.set_ylabel('rates') ax1.set_title("Line chart") ax1.plot([13, 14, 15, 16], [0.2, 0.8, 0.5, 0.4]) ax1.plot([13, 14, 15, 16], [0.3, 0.4, 0.7, 0.8]) #另一种设置X/Y坐标数值,的方法设置每个坐标轴的取值范围(x轴取值,y轴取值) #plt.axis([0,1100,0,1100000]) plt.savefig('line_chart.jpg') plt.show() 实例2: import numpy as np import matplotlib.pyplot as plt ax = [23,26,28,31,32,33] #随便创建了一个数据 ay = [3.0,3.5,4.0,3.0,3.5,4.0] plt.plot(ax,ay,color='r',linewidth=1,label=u'1')#color指定线条颜色,labeL标签内容 plt.legend(loc=2)#标签展示位置,数字代表标签具位置 plt.xlabel(u'X/℃') plt.ylabel(u'Y/') plt.title(u'2019/06/07') # plt.ylim(0,8)#Y轴标签范围为0-10 # 设置每个坐标轴的取值范围(x轴取值,y轴取值) plt.axis([0,36,0,8]) plt.show()

转载于:https://www.cnblogs.com/moying-wq/p/10988088.html