matplotlib:plt.annotate

本文详细介绍如何使用Python的Matplotlib库绘制带有注释、特殊轴设置和自定义标签的复杂图表,包括线性图和二次函数图的叠加,以及如何精细调整图表样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import matplotlib
matplotlib.use(“TkAgg”)
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection

x=np.linspace(-1,1,50)
y1=3*x+1
y2=x**2

plt.figure(num=3,figsize=(8,6))
plt.xlim((-1,1))
plt.ylim((-2,4))
plt.xlabel(“I am x”)
plt.ylabel(“I am y”)

new_ticks=np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.22,3],[r" r e a l l y   b a d really\ bad really bad",r" b a d bad bad",r" n o r m a l normal normal",r" g o o d good good",r" r e a l l y   g o o d really\ good really good"])

ax=plt.gca()

ax.spines[“right”].set_color(“none”)
ax.spines[“top”].set_color(“none”)

ax.xaxis.set_ticks_position(“bottom”)
ax.yaxis.set_ticks_position(“left”)

ax.spines[“bottom”].set_position((“data”,0))
ax.spines[“left”].set_position((“data”,0))

l1,=plt.plot(x,y2,color=“g”)
l2,=plt.plot(x,y1,linewidth=1.0,linestyle=’–’,color=‘r’)

x0=0.5
y0=3*x0+1
plt.scatter(x0,y0,s=100,color=“b”)
plt.plot([x0,x0],[y0,0],‘k–’,linewidth=1.5)
plt.annotate(r"3x+1=%s" % y0,xy=(x0,y0),xycoords=“data”,xytext=(+20,-10),textcoords=“offset points”,fontsize=30,arrowprops=dict(arrowstyle="->",connectionstyle=“arc3,rad=.4”)) #xycoords="data"表示坐标基于相关作图的数据

plt.legend(handles=[l1,],labels=[“aaa”,],loc=“best”)

plt.show()

在这里插入图片描述
加上下列语句后的作图:
plt.text(-1,2," T h i s   i s   s o m e   t e x t .   μ   σ i   α i This\ is\ some\ text.\ \mu\ \sigma_i\ \alpha_i This is some text. μ σi αi",fontdict={“size”:16,“color”:“r”})#“-1,2” 表示文本所在的位置,"_“表示i在alpha的末端,”“未来识别空格,alpha前的”"可将其转为数学上的alpha
在这里插入图片描述

https://www.bilibili.com/video/av16378354/?p=8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值