matplotlib 设置标注方向_Python 使用matplotlib画图添加标注、及移动坐标轴位置
import?matplotlib.pyplot?as?plt
import?matplotlib
import?numpy?as?np
#解決中文亂碼問題,引入windows字體庫
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)??設置坐標點
#yticks?=?np.linspace(-6,8,14)
#plt.yticks(yticks)
plt.xlabel("x")
plt.ylabel("y")
#挪動坐標位置
ax?=?plt.gca()
#去掉邊框
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
#移位置?設為原點相交
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))
'''''
然后標注出點(x0,?y0)的位置信息.?用plt.plot([x0,?x0,],?[0,?y0,],?'k--',?linewidth=1.0)
畫出一條垂直于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')?#在這點加個藍色的原點?原點大小50
plt.title(u'Annotation?標注',fontproperties=myfont)
#標注方式1:?使用?annotate?接下來我們就對(x0,?y0)這個點進行標注.
'''''
其中參數xycoords='data'?是說基于數據的值來選位置,?xytext=(+30,?-30)?和
textcoords='offset?points'?對于標注位置的描述?和?xy?偏差值,?arrowprops是對圖中箭頭類型的一些設置.
'''
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"))
'''''
標注方式2:?使用?text
其中-3.7,?3,是選取text的位置,?空格需要用到轉字符\?,fontdict設置文本字體.
'''
plt.text(-3.7,?3,?r'$.Annotation?text?、?\mu\?\sigma_i\?\alpha_t$',
fontdict={'size':?16,?'color':?'r'})
plt.show()
總結
以上是生活随笔為你收集整理的matplotlib 设置标注方向_Python 使用matplotlib画图添加标注、及移动坐标轴位置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java开发有日志存表的吗_Java日志
- 下一篇: jq设置保留两位小数_如何实现pytho