- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请原谅,我的数学一直很差,现在正尝试通过编码来学习一些 Python(以及一些数学)。
我有这个:
import numpy as np
import matplotlib.pyplot as plt
whole = 1 # percentage: 1 = 100%, 0.1 = 10% ecc
nparts = 10 # how many "steps" we want to use
origin = 100 # starting value we
ranged = origin * whole # defining the percentage of our starting value
values = np.linspace(origin - ranged/2, origin + ranged/2, nparts * 2)
r = []
g = []
for v in values:
if v > origin:
r.append(v)
#reds = f"{v} is {100*(v - origin)/origin}% of {origin}"
#print(reds)
else:
g.append(v)
#greens = f"{v} is {100*(v - origin)/origin}% of {origin}"
#print(greens)
print("reds")
print(r)
print("greens")
print(g)
最后这些 print(g) and print(r)
输出数值结果。
如果我绘制它,您可以清楚地看到它的作用。
axes = plt.gca()
#origin BLUE
plt.axhline(y=origin, color='b', linestyle='-')
#reds
for i in r:
plt.axhline(y=i, color='r', linestyle='-')
#greens
for i in g:
plt.axhline(y=i, color='g', linestyle='-')
所以你可以看到给定一个 origin
(蓝线)并给出 +/- 百分比 whole
它创建 n 行 ( nparts
) 和 reds if they are > origin
和 green if < origin
线性传播它们 values = np.linspace(origin - ranged/2, origin + ranged/2, nparts * 2)
关于这个whole
来自 origin
的百分比值
现在我的问题是:我怎样才能以对数方式展开这些线(别误会我的意思,我的数学很差,我什至不知道我要找的东西是否与对数相关)我想实现这样的目标(我对绘制的图像进行了 Photoshop)。我真的很想保留那个 whole
也许能够添加一个新的 variable
“控制”这种对数扩散
基本上我需要找到一种方法来找到另一个函数来替换 values = np.linspace(origin - ranged/2, origin + ranged/2, nparts * 2)
以达到下面所附的预期结果。我尝试了 np.geomspace 和 np.logspace 都没有成功,也许我只是不好或者我需要找到另一种方法来做到这一点。
期望的结果: desired result
你能帮我解决这个问题吗?非常感谢。
最佳答案
您可以将任何 linspace
传递给 np.log
。这将给出每个点的对数。要获得特定范围内的结果,您可以使用线性变换:除以最大值并乘以所需范围,或者添加一个基线值。
例如:
values = np.log(np.linspace(1, 10, nparts))
r = 150 - 50 * (values / values[-1])
g = 50 + 50 * (values / values[-1])
这将导致以下情节:
如果您需要包含 origin
和 whole
变量,这是一种方法:
values = np.log(np.linspace(1, 10, nparts))
half_range = origin * whole / 2
g = origin + half_range * (1 - values / values[-1])
r = origin * 2 - g
关于python 需要将 "linspace"转换成更多的 "logarithmic",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67557856/
我有两个分数列表; 说 A = [ 1/212, 5/212, 3/212, ... ] 和 B = [ 4/143, 7/143, 2/143, ... ] . 如果我们定义 A' = a[0] *
我有两个分数列表; 说 A = [ 1/212, 5/212, 3/212, ... ] 和 B = [ 4/143, 7/143, 2/143, ... ] . 如果我们定义 A' = a[0] *
我已经使用查找表和低阶多项式近似实现了定点 log2 函数,但对整个 32 位定点范围 [-1,+1) 的准确度不太满意。输入格式为 s0.31,输出格式为 s15.16。 我在这里发布这个问题,以便
以下示例来自 here ,和here我试过这个: log2(x) := log(x) / log(2); log2(8), float; 但这并没有给出 3,而是得到 log(8)/log(2)。 最
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
请原谅,我的数学一直很差,现在正尝试通过编码来学习一些 Python(以及一些数学)。 我有这个: import numpy as np import matplotlib.pyplot as plt
我有一个二维数组,其中每个元素都是一个傅立叶变换。我想“对数地”分割变换。例如,让我们将这些数组中的一个命名为 a : a = np.arange(0, 512) # I want to split
这是我在某个网站上看到的面试问题。 有人提到,答案涉及形成 log2() 的递归,如下所示: double log2(double x ) { if ( x1e-7) { do
我有一个数据文件,我正在从中创建直方图。 数据文件是: -0.1 0 0 JANE 1 1 1 BILL 2 2 1 BILL 1 3 1 BILL 6 4 0 JANE
我正在尝试优化一个音频算法,它必须在每个步骤中计算如下两种算法。现在我已经读到,没有在多项式时间内运行的对数算法。我的问题是,通过查找表计算所有对数是否有意义,因为它们总是相同的,尽管存在大量内存访问
math.exp() 不适用于复数: >>> math.exp (math.pi*1j) Traceback (most recent call last): File "", line 1, i
随着时间的推移,我有一堆测量值,我想在 R 中绘制它们。这是我的数据示例。对于 4 个时间点,我有 6 个测量值: values <- c (1012.0, 1644.9, 837.0, 1200.9
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
我有一些数据绘制在半对数图上(log-lin 样式,在 y 轴上具有对数刻度)。有没有办法将 y 轴刻度标签从实际值更改为对数值? 例如,考虑以下代码: import matplotlib.pyplo
我找不到这个问题的确切答案,所以我把它贴在这里:如果我有一个整数范围,我想以相等的对数距离计算该范围内的“N”个数字。 这是一个示例代码,用于查找相等的“非对数”距离(或多或少)的数字: const
我一直在学习 Python 2.5.4,我有以下问题需要解决: "编写一个程序,计算从 2 到某个数 n 的所有素数的对数和,并打印出素数的对数和、数 n 以及这两个量的比值。测试这适用于不同的 n
是否可以像下图那样使用对数刻度的颜色条级别? 这是一些可以实现的示例代码: import matplotlib.pyplot as plt import numpy as np from matplo
从这篇非常好的帖子开始 Logarithmic scale in Java FX 2 我已经更改了这个类以获得 Y 轴上的对数刻度,并且它工作正常。我唯一的问题是水平网格线很少,比例总是从 0 或接近
我正在尝试找到用 C 语言计算以下内容的最快方法: p = 2^(ceil(log2(x))); 到目前为止,通过查看 Stack overflow(和其他地方)中的答案,我已经做到了这一点: #de
我试图在 sympy 中求解一个简单的对数方程,但是当我尝试执行代码时,我得到了一个RuntimeError: maximum recursion depth exceeded。这是我正在做的: im
我是一名优秀的程序员,十分优秀!