首页 > 其他 > 详细

matplotlib学习(2)

时间:2020-01-15 12:03:02      阅读:77      评论:0      收藏:0      [点我收藏+]

1.legend的学习(图例)
1.1 代码

技术分享图片
import matplotlib.pyplot as plt 
import numpy as np

x=np.linspace(-3,3,50) #从-1到1,共50个点
y1=2*x+1
y2=x**2

plt.figure() #fig图2,默认从上下来第二张图,也可加num=3,为fig3,和大小设置
#-----学习点-------
l1,=plt.plot(x,y2,label=up) #注意逗号,一种特色的赋值
#plt.plot(x,y1) #也可以把数据在一张fig中显示
l2,=plt.plot(x,y1,color=red,linewidth=10,linestyle=--,label=down) #还可以设置,默认颜色是蓝色=blue,linewidth默认1
#plt.legend() #图例,空的自动填入,是up和down的赋值
plt.legend(handles=[l1,l2],loc=best,labels=[aaa,bbb]) #对l1和l2的label从新赋值,loc位置best可以自动调整最佳位置
#------------------

plt.xlim((-1,2)) #定义x轴从-1到2,默认为6个分度
plt.ylim((-2,3)) #定义y轴从-2到3

plt.xlabel(I am x) #定义坐标轴的文字说明
plt.ylabel(I am y)

new_ticks=np.linspace(-1,2,5) #新调整的刻度,5个刻度,有4段
plt.xticks(new_ticks)
#对y刻度进行对应修改,会覆盖原来的ylim的设置
plt.yticks([-2,-1.8,-1,1.22,3],[very bad,bad,normal,good,very good]) #正规字体

plt.show()
View Code

 

1.2 图1

技术分享图片

 

2.双柱状图及上面的数字
2.1 代码

技术分享图片
import matplotlib.pyplot as plt 
import numpy as np

n=12 #定义有12跟bar柱
X=np.arange(n)
Y1=(1-X/float(n))*np.random.uniform(0.5,1.0,n)
Y2=(1-X/float(n))*np.random.uniform(0.5,1.0,n)

#------学习要点
plt.bar(X,+Y1,facecolor=pink,edgecolor=white) #颜色设定
plt.bar(X,-Y2,facecolor=orange,edgecolor=white) #+和-代表y柱的向上和向下

for x,y in zip(X,Y1):
plt.text(x+0.1,y+0.05,%.2f%y, ha=center,va=bottom) #+表示向上的柱
#x+0.1=x再向右0.1移动,y+0.05=y再向上移动0.05间隔,代表位置
#‘%.2f‘%y=代表输出y值,保留小数点后面2位的f=float(浮点数)
#ha=horizontal alignment=水平对齐,居中=center
#va=Vertical alignment=垂直对准,上面的是底部对准bottom,下面的是顶部对准top

for x,y in zip(X,Y2):
plt.text(x+0.1,-y-0.05,%.2f%y, ha=center,va=top) #+表示向下的柱
#向下的柱,是-y-0.05
#-------------------

plt.xlim(-.5,n)
plt.xticks(()) #清空x坐标刻度

plt.ylim(-1.25,1.25)
plt.yticks(()) #清空y坐标刻度

plt.show()
View Code

 

2.2 图2

技术分享图片

matplotlib学习(2)

原文:https://www.cnblogs.com/ysysbky/p/12195395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!