python的matplotlib的函数_『Python』matplotlib常用函数

1. 绘制图表组成元素的主要函数

1.1 plot()——展现量的变化趋势

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.cos(x)

plt.plot(x, y, ls="-", lw=2, label="plot figure")

plt.legend()

plt.show()

1497038-20200511160152270-1328827353.png

1.2 scatter()——寻找变量之间的关系

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.random.rand(1000)

plt.scatter(x, y, label="scatter figure")

plt.legend()

plt.show()

1497038-20200511160225876-2050735211.png

1.3 xlim()——设置x轴的数值显示范围

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.random.rand(1000)

plt.scatter(x, y, label="scatter figure")

plt.legend()

plt.xlim(0.05, 10)

plt.ylim(0, 1)

plt.show()

1497038-20200511160243525-277700242.png

1.4 xlabel()——设置x轴的标签文本

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.sin(x)

plt.plot(x, y, ls="--", lw=2, c="c", label="plot figure")

plt.legend()

plt.xlabel("x-axis")

plt.ylabel("y-axis")

plt.show()

1497038-20200511160301514-1330481448.png

1.5 grid()——绘制刻度线的网格线

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.sin(x)

plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")

plt.legend()

plt.grid(linestyle=":", color="r")

plt.show()

1497038-20200511160317806-1850776119.png

grid()函数的主要参数为grid(b, which, axis, color, linestyle, linewidth, **kwargs):

b:布尔值。就是是否显示网格线的意思。官网说如果b设置为None, 且kwargs长度为0,则切换网格状态

which:取值为major, minor, both。 默认为major

axis:取值为both, x,y。就是想绘制哪个方向的网格线

color:这就不用多说了,就是设置网格线的颜色。或者直接用c来代替color也可以

linestyle:也可以用ls来代替linestyle, 设置网格线的风格,是连续实线,虚线或者其它不同的线条

1.6 axhline()——绘制平行于x轴的水平参考线

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.sin(x)

plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")

plt.legend()

plt.axhline(y=0.0, c="r", ls="--", lw=2)

plt.axvline(x=4.0, c="r", ls="--", lw=2)

plt.show()

1497038-20200511160334164-1111584418.png

1.7 axvspan()——绘制垂直于x轴的参考区域

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.sin(x)

plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")

plt.legend()

plt.axvspan(xmin=4.0, xmax=6.0, facecolor="y", alpha=0.3)

plt.axhspan(ymin=0.0, ymax=0.5, facecolor="y", alpha=0.3)

plt.show()

1497038-20200511160348838-1120858928.png

1.8 annotate()——添加图形内容细节的指向型注释文本

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.sin(x)

plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")

plt.legend()

plt.annotate(s="maximum",

xy=(np.pi / 2, 1.0),

xytext=((np.pi / 2) + 1.0, 0.8),

weight="bold",

color="b",

arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="b")

)

plt.show()

xy:被注释图形内容的位置坐标

xytext:注释文本的位置坐标

weight:注释文本的字体粗细风格

color:注释文本的字体颜色

arrowprops:指示被注释内容的箭头的属性字典

1497038-20200511160407323-1182251923.png

1.9 text()——添加图形内容细节的无指向型注释文本

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.use('Qt5Agg')

x = np.linspace(0.05, 10, 1000)

y = np.sin(x)

plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")

plt.legend()

plt.text(x=3.10, y=0.09, s="y=sin(x)", weight="bold", color="b")

plt.show()

1497038-20200511160424292-2104971083.png

1.10 title()——添加图形内容的标题

import numpy as np

import matplotlib as mpl

import matplotlib.pyplot as plt

x = np.linspace(-2, 2, 1000)

y = np.exp(x)

plt.plot(x, y, ls="-", lw=2, color="g")

plt.title("center demo")

plt.title("left demo", loc="left",

fontdict={"size": "xx-large",

"color": "r",

"family": "Times New Roman"})

plt.title("right demo", loc="right",

family="Comic Sans MS", size=20,

style="oblique", color="c")

plt.show()

主要参数都在上面代码里体现了

1497038-20200512220116294-825597003.png

1.11 legend()——表示不同图形的文本标签图例

import numpy as np

import matplotlib as mpl

import matplotlib.pyplot as plt

x = np.arange(0, 2.1, 0.1)

y = np.power(x, 3)

y1 = np.power(x, 2)

y2 = np.power(x, 1)

plt.plot(x, y, ls="-", lw=2, label="$x^3$")

plt.plot(x, y1, ls="-", lw=2, label="$x^2$")

plt.plot(x, y2, ls="-", lw=2, label="$x^1$")

plt.legend(loc="upper left",fontsize="x-large", bbox_to_anchor=(0.05, 0.95), ncol=3,

title="power function", shadow=True, fancybox=True)

plt.show()

loc参数控制图例的位置,可选值为:

best

upper right

upper left

lower left

lower right

right

center left

center right

lower center

upper center

center

fontsize控制图例字体大小,可选值为:

int

float

xx-small

x-small

small

medium

large

x-large

xx-large

frameon:True或False,是否显示图例边框

edgecolor:图例边框颜色

facecolor:图例背景颜色,若无边框,参数无效

title:设置图例标题

fancybox:True表示线框直角,False表示线框圆角

shadow:True或False,是否显示阴影

1497038-20200512215504577-1585037201.png

2. 常用配置参数

2.1 线型

linestyle或ls

-:实线

--:虚线

-.:点划线

::点线

2.2 线宽

linewidth或lw

浮点数

2.3 线条颜色

color或c

b:blue,蓝色

g:green,绿色

r:red,红色

c:cyan,蓝绿

m:magenta,洋红

y:yellow,黄色

k:black,黑色

w:white,白色

也可以对关键字参数color赋十六进制的RGB字符串如 color='#900302'

2.4 点标记类型

marker,只能用以下简写符号表示

.: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

|:vline marker

_:hline marker

特别地,标记还有mathtext模式

import numpy as np

import matplotlib.pyplot as plt

import matplotlib as mpl

mpl.use('Qt5Agg')

mpl.rcParams['font.sans-serif'] = ['SimHei']

mpl.rcParams['font.serif'] = ['SimHei']

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

x = np.arange(1, 13, 1)

y = np.array([12, 34, 22, 30, 18, 13, 15, 19, 24, 28, 23, 27])

fig, ax = plt.subplots(2, 2)

ax[0, 0].scatter(x, y * 1.5, marker=r"$\clubsuit$", c="#fb8072", s=500)

ax[0, 0].locator_params(axis="x", tight=True, nbins=11)

ax[0, 0].set_xlim(0, 13)

ax[0, 0].set_xticks(x)

ax[0, 0].set_title('显示样式{}的散点图'.format(r"$\clubsuit$"))

ax[0, 1].scatter(x, y - 2, marker=r"$\heartsuit$", c="#fb8072", s=500)

ax[0, 1].locator_params(axis="x", tight=True, nbins=11)

ax[0, 1].set_xlim(0, 13)

ax[0, 1].set_xticks(x)

ax[0, 1].set_title('显示样式{}的散点图'.format(r"$\heartsuit$"))

ax[1, 0].scatter(x, y + 7, marker=r"$\diamondsuit$", c="#fb8072", s=500)

ax[1, 0].locator_params(axis="x", tight=True, nbins=11)

ax[1, 0].set_xlim(0, 13)

ax[1, 0].set_xticks(x)

ax[1, 0].set_title('显示样式{}的散点图'.format(r"$\diamondsuit$"))

ax[1, 1].scatter(x, y - 9, marker=r"$\spadesuit$", c="#fb8072", s=500)

ax[1, 1].locator_params(axis="x", tight=True, nbins=11)

ax[1, 1].set_xlim(0, 13)

ax[1, 1].set_xticks(x)

ax[1, 1].set_title('显示样式{}的散点图'.format(r"$\spadesuit"))

plt.suptitle("不同原始字符串作为标记类型的展示效果", fontsize=16, weight="black")

plt.show()

1497038-20200515225450065-365563154.png

官网有一张属性表,先贴在这,以后有空会再补充内容的

1497038-20200511160514863-126500087.png

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值