欢迎关注”生信修炼手册”!
对于跨度很大其分布离散的数据,常用log转换来缩写其差距,呈现在图上的效果也更好,比如在绘制转录组的表达量数据时,常用log转换之后的值进行绘制 。在中,支持在绘图时对数据进行log转换,根据log转换的需求,体用了以下3种函数
1. ,同时对x轴和y轴的值进行log转换
2. ,只对x轴的值进行log转换,y轴的值不变
3. , 只对y轴的值进行log转换,x轴的值不变
上述3种函数本质其实是plot函数,只不过在绘制之前自动对相应的数据进行了log转换,所以plot函数的参数对于这些函数都适用,下面来具体看下用法
1.
首先构建一个x轴和y轴数据都是10的乘方的散点图,代码如下
>>> import matplotlib.pyplot as plt>>> import numpy as np>>> data = http://www.kingceram.com/post/np.array([1, 2, 3, 4])>>> power_x = np.power(10 , data)>>> power_y = np.power(10 , data)>>> plt.plot(power_x, power_y)
输出结果如下
文章插图
通过函数,可以同时对x轴和y轴的数据进行log转换,用法如下
>>> plt.loglog(power_x, power_y)
输出结果如下
文章插图
从效果可以看出,采用了log10转换之后的值进行绘图,同时对应的标签用乘方的方式进行标记 。
2.
函数只对x轴的值进行log转换,先来看下不转换时的效果,代码如下
>>> plt.plot(power_x, data)
输出结果如下
文章插图
只对x轴的值进行log转换,代码如下
>>> plt.semilogx(power_x, data)
输出结果如下
文章插图
3.
函数只对y轴的值进行log转换,先来看下不转换时的效果,代码如下
>>> plt.plot(data, power_y)
输出结果如下
文章插图
只对y轴的值进行log转换,代码如下
>>> plt.semilogy(data, power_y)
输出结果如下
文章插图
文章插图
除了以上基本用法外,该函数还具有以下3种专属参数
1. base,指定对数的值,默认值为10,即进行log10的转换
2. subs,设定minor ticks的位置,默认值为None
3. ,对非负值的处理,因为只有正数可以取log,如果原始值为负值,此时有两种处理方式,第一种是丢掉这个点,也是默认的处理方式,对应该参数的值为mask,在图中不显示这个点,第二种是将这个值调整为最接近的正数,对应该参数的取值为clip
为了便于对x轴和y轴精确指定,上述参数都有x轴和y轴两个版本,以base为例,具体的有basex和basey两个参数,用法如下
>>> plt.loglog(power_x, power_y, basex=2)
输出结果如下
【掌握坐标轴的log转换】
文章插图
通过log系列函数,可以灵活的对数据进行log转换 。
·end·
—如果喜欢,快分享给你的朋友们吧—
- 项羽是哪朝代的人?西楚霸王项羽生平事迹简介
- win10使用uefi+gpt启动蓝屏的解决方法
- 进PE系统后看不到硬盘的原因及解决办法
- 龙腾虎跃的解释龙腾虎跃的出处及用法
- 专业做价签,有没有专业点的生产不干胶标签的厂家?
- 专利中的实施例是什么,专利中的非限制性实施例什么意思?
- 两害从轻的解释两害从轻的出处及用法
- 临阵磨枪的解释临阵磨枪的出处及用法
- 专业人士对张学友的唱功评价,张学友唱功好吗
- 良师益友的解释良师益友的出处及用法