matplotlib 设置标注方向_Python 使用matplotlib画图添加标注、及移动坐标轴位置
import?matplotlib.pyplot?as?plt
import?matplotlib
import?numpy?as?np
#解決中文亂碼問(wèn)題,引入windows字體庫(kù)
myfont?=?matplotlib.font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf')
x?=?np.linspace(-3,3,50)
y?=?2*x?+?1
plt.plot(x,y)
plt.figure(1,figsize=(8,5))
xticks?=?np.linspace(-3,3,11)
#plt.xticks(xticks)??設(shè)置坐標(biāo)點(diǎn)
#yticks?=?np.linspace(-6,8,14)
#plt.yticks(yticks)
plt.xlabel("x")
plt.ylabel("y")
#挪動(dòng)坐標(biāo)位置
ax?=?plt.gca()
#去掉邊框
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
#移位置?設(shè)為原點(diǎn)相交
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
'''''
然后標(biāo)注出點(diǎn)(x0,?y0)的位置信息.?用plt.plot([x0,?x0,],?[0,?y0,],?'k--',?linewidth=1.0)
畫(huà)出一條垂直于x軸的虛線
'''
x0?=?1
y0?=?2*x0?+?1
plt.plot([x0,x0,],[0,y0],'k--',linewidth=2.5)
#?set?dot?styles
plt.scatter([x0,?],?[y0,?],?s=50,?color='r')?#在這點(diǎn)加個(gè)藍(lán)色的原點(diǎn)?原點(diǎn)大小50
plt.title(u'Annotation?標(biāo)注',fontproperties=myfont)
#標(biāo)注方式1:?使用?annotate?接下來(lái)我們就對(duì)(x0,?y0)這個(gè)點(diǎn)進(jìn)行標(biāo)注.
'''''
其中參數(shù)xycoords='data'?是說(shuō)基于數(shù)據(jù)的值來(lái)選位置,?xytext=(+30,?-30)?和
textcoords='offset?points'?對(duì)于標(biāo)注位置的描述?和?xy?偏差值,?arrowprops是對(duì)圖中箭頭類型的一些設(shè)置.
'''
plt.annotate(r'$2x+1=%s$'?%?y0,?xy=(x0,?y0),?xycoords='data',?xytext=(+30,?-30),
textcoords='offset?points',?fontsize=16,
arrowprops=dict(arrowstyle='->',?connectionstyle="arc3,rad=.2"))
'''''
標(biāo)注方式2:?使用?text
其中-3.7,?3,是選取text的位置,?空格需要用到轉(zhuǎn)字符\?,fontdict設(shè)置文本字體.
'''
plt.text(-3.7,?3,?r'$.Annotation?text?、?\mu\?\sigma_i\?\alpha_t$',
fontdict={'size':?16,?'color':?'r'})
plt.show()
總結(jié)
以上是生活随笔為你收集整理的matplotlib 设置标注方向_Python 使用matplotlib画图添加标注、及移动坐标轴位置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java开发有日志存表的吗_Java日志
- 下一篇: php 传递类名,php 对象和数组序列