ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python数据分析:可视化图表注释设置

2020-10-08 15:31:24  阅读:219  来源: 互联网

标签:数据分析 plt Python 注释 添加 可视化 rcParams np 图形


本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

前言

如果我们想要在图形中的任意位置添加注释,该如何用pyhton代码实现操作呢?

法1:

① 导入必要的库和模块matplotlib.pyplot

② 为了能使图形正常显示中文,需要事先引入以下两行代码

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False

 

③ 然后使用text函数定义要添加的注释,该函数前两个参数为注释的坐标位置(相对于图形的),后面一个参数为注释文本

示例代码如下:

#解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']= False
mu,sigma=100,15#均值和方差
x=mu+sigma*np.random.randn(10000)#np.random.randn()标准正态分布,通过本函数可以返回一个或一组服从标准正态分布的随机样本值
n,bins,patches=plt.hist(x,bins=50,density=1,facecolor='g',alpha=0.75)#绘制直方图
#x:这个参数是指定每个bin(箱子)分布的数据,对应x轴
#bins:这个参数指定bin(箱子)的个数,也就是总共有几条条状图
#density:这个参数指定密度,也就是每个条状图的占比例比,默认为1
#color:这个指定条状图的颜色
plt.xlabel('IQ值',fontsize=14,color='red')
plt.ylabel('概率',fontsize=14,color='green')
plt.title('IQ直方图')
plt.text(60,.025,r'$\mu=100,\\sigma=15$')  #添加Tex表达式
plt.axis([40,160,0,0.03])  #设置坐标轴范围
plt.grid(True)
plt.show()

 

代码运行结果如下图所示:

 

 

法2:

示例代码:

ax=plt.subplot(111)
t=np.arange(0,5,0.01)
s=np.cos(2*np.pi*t)
line=plt.plot(t,s,lw=2) #lw是linewidth的简写
#添加注释
plt.annotate('局部最大',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.05))
plt.ylim(-2,2) #设置y轴的范围
plt.show()

 

运行结果如下:

 

注: text()函数会把添加的文本任意地放到图形的空白位置上,annotate()函数可以非常方便地在图形的特定位置添加文本。

以上文章来源于学海宇宙,作者 小宇宙

标签:数据分析,plt,Python,注释,添加,可视化,rcParams,np,图形
来源: https://www.cnblogs.com/hhh188764/p/13781536.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有