python中matplotlib模块_python matplotlib模块介绍

matplotlib 是Python的绘图库,很强大,很好用

提供一下下载:

pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

用matplotlib 做图时候,有时候会写汉字,但是这个时候会乱码,解决办法我用了两种

1.fname 为 你下载的字体库路径,注意 c:\windows\fonts\simsun.ttc 字体的路径

from matplotlib.font_manager import FontProperties

font_set = FontProperties(fname=r"c:\\windows\\fonts\simsun.ttc", size=12)

2.这个是使用系统的字体

mpl.rcParams['font.sans-serif'] = ['SimHei'] # 中文显示

mpl.rcParams['axes.unicode_minus'] = False # 负号显示

这两种办法基本 可以解决你的问题了

下面介绍一下里面的做图

简单的直线图

x = np.arange(1,11)

y = 2 * x + 5

plt.title("Matplotlib test")

plt.xlabel("x axis caption")

plt.ylabel("y axis caption")

plt.plot(x,y)

plt.show()

这是最基本的应用方式,show()这个函数 是直接显示,或者不想展示,可以用savefig(),不过里面的参数就需要填写path了。

Axes 翻译成中文是轴域/子图。Axes 是带有数据的图像区域

fig = plt.figure() # 创建一个没有 axes 的 figure

fig.suptitle('No axes on this figure') # 添加标题以便我们辨别

fig, ax_lst = plt.subplots(2, 2) # 创建一个以 axes 为单位的 2x2 网格的 figure

plt.show()

绘制曲线图:

x = np.linspace(-2, 6, 50)

y1 = x + 3 # 曲线 y1

y2 = 3 - x # 曲线 y2

plt.figure() # 定义一个图像窗口

plt.plot(x, y1) # 绘制曲线 y1

plt.plot(x, y2) # 绘制曲线 y2

plt.show()

调用np.linspace是创建一个 numpy 数组,并记作 x。x 包含了从 -2 到 6 之间等间隔的 50 个值。y1 和 y2 则分别是这 50 个值对应曲线的函数值组成的 numpy 数组。前面的操作还处于设置属性的阶段,还没有开始绘制图形。plt.figure() 函数才意味着开始执行绘图操作,然后调用show()显示。

对图进行简单的修饰

# 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英寸

plt.figure(figsize=(8, 6), dpi=80)

# 再创建一个规格为 1 x 1 的子图

plt.subplot(111)

x = np.linspace(-2, 6, 50)

y1 = x + 3 # 曲线 y1

y2 = 3 - x # 曲线 y2

# 绘制颜色为蓝色、宽度为 1 像素的连续曲线 y1

plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-")

# 绘制颜色为紫色、宽度为 2 像素的不连续曲线 y2

plt.plot(x, y2, color="#800080", linewidth=2.0, linestyle="--")

# 设置横轴的上下限

plt.xlim(-1, 6)

# 设置纵轴的上下限

plt.ylim(-2, 10)

plt.show()

如果需要在图的左上角添加一个图例。我们只需要在 plot() 函数里以「键 - 值」的形式增加一个参数。首先我们需要在绘制曲线的时候,增加一个 label 参数,然后再调用 plt.legend() 绘制出一个图例。plt.legend() 需要传入一个位置值。loc 的值可选如下:

值说明

best自动选择最佳位置,默认是左上

upper right右上

upper left左上

lower right右下

lower left左下

right右边,默认是右上。如果因图形挡住右上,会自动往下选择空白地方绘制

center right垂直居中且靠右

center left垂直居中且靠左

lower center垂直居中且靠底部

upper center垂直居中且靠顶部

center居中

以上,基本满足最基本的做图要求。

原文链接:https://blog.csdn.net/qq_38999426/article/details/108274857

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值