- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个像下面这样的简单文件,上面有一些文本和数字:
some text pre 69 some text post
some text pre 63 some text post
some text pre 62 some text post
some text pre 175 some text post
some text pre 57 some text post
some text pre 59 some text post
some text pre 63 some text post
some text pre 58 some text post
some text pre 50 some text post
some text pre 45 some text post
some text pre 46 some text post
some text pre 39 some text post
some text pre 36 some text post
some text pre 39 some text post
some text pre 35 some text post
some text pre 42 some text post
some text pre 36 some text post
some text pre 35 some text post
some text pre 31 some text post
some text pre 34 some text post
some text pre 28 some text post
some text pre 110 some text post
some text pre 25 some text post
some text pre 36 some text post
some text pre 35 some text post
some text pre 21 some text post
some text pre 22 some text post
some text pre 21 some text post
some text pre 34 some text post
some text pre 32 some text post
some text pre 36 some text post
some text pre 34 some text post
some text pre 20 some text post
some text pre 18 some text post
some text pre 20 some text post
some text pre 35 some text post
some text pre 31 some text post
some text pre 35 some text post
some text pre 37 some text post
some text pre 22 some text post
some text pre 24 some text post
some text pre 19 some text post
some text pre 25 some text post
some text pre 21 some text post
some text pre 19 some text post
some text pre 20 some text post
some text pre 19 some text post
some text pre 22 some text post
some text pre 21 some text post
some text pre 20 some text post
some text pre 22 some text post
some text pre 18 some text post
some text pre 20 some text post
some text pre 21 some text post
some text pre 20 some text post
some text pre 20 some text post
some text pre 19 some text post
some text pre 21 some text post
some text pre 18 some text post
some text pre 20 some text post
some text pre 20 some text post
some text pre 20 some text post
some text pre 20 some text post
some text pre 22 some text post
some text pre 23 some text post
some text pre 20 some text post
some text pre 19 some text post
some text pre 20 some text post
some text pre 21 some text post
some text pre 22 some text post
some text pre 18 some text post
some text pre 26 some text post
some text pre 19 some text post
some text pre 20 some text post
some text pre 20 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 2 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 2 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 2 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 2 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 3 some text post
some text pre 2 some text post
some text pre 3 some text post
some text pre 3 some text post
我有 python 脚本,它将文件中的数字解析为一个数组,并根据数字数组绘制图形。简单的。以下是我的 python 脚本。
# Script 1
#!/usr/bin/env python
import re
import matplotlib.pyplot as plt
import os
import sys
def find_between( s, first, last ):
try:
start = s.index( first ) + len( first )
end = s.index( last, start )
return s[start:end]
except ValueError:
return ""
some_text_1 = "some text pre "
some_text_2 = " some text post"
with open("/path/to/file.txt", 'r') as file:
filetext = file.read()
lines = [line for line in filetext.split('\n') if some_text_1 in line]
numbers_array = []
for x in lines:
number_in_string = find_between(x, some_text_1, some_text_2)
if number_in_string:
number = 0
number = number_in_string
numbers_array.append(number)
fig = plt.figure(num=None, figsize=(15, 9), facecolor='w', edgecolor='k')
plt.plot(numbers_array)
plt.ylabel('Learning python')
plt.show()
以下是图表的显示方式,莫名其妙的奇怪!并错误地绘制
数值较低的数字如何表示在较高的数字之上?我做错了什么?
但是,如果声明 numbers_array
并像下面修改后的脚本那样内联添加一些数字,那么图表绘制好吗?
# Script 2
#!/usr/bin/env python
import re
import matplotlib.pyplot as plt
numbers_array = [79, 66, 69, 63, 62, 175, 57, 59, 63, 58, 50, 45, 46, 39, 36, 39, 35, 42, 36, 35, 31, 34, 28,
110, 25, 36, 35, 21, 22, 21, 34, 32, 36, 34, 20, 18, 20, 35, 31, 35, 37, 22, 24, 19, 25, 21,
19, 20, 19, 22, 21, 20, 22, 18, 20, 21, 20, 20, 19, 21, 18, 20, 20, 20, 20, 22, 23, 20, 19,
20, 21, 22, 18, 26, 19, 20, 20, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 48, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3]
fig = plt.figure(num=None, figsize=(15, 9), facecolor='w', edgecolor='k')
plt.plot(numbers_array)
plt.ylabel('Learning python')
plt.show()
以下是当 numbers_array
用随机值硬编码时看起来正确的图。
问题:Script 1
我做错了什么?
最佳答案
问题是,在第一个脚本中你有一个字符串列表,而不是数字列表。
matplotlib 仍然没有提示的唯一原因是,它默默地建议您绘制类别而不是数字。因此,每个新元素都在下一个 y 水平上绘制,独立于其作为数字的值 - 并且该水平的命名与元素相同。
例子:
example_list = ['2', '0', '3', '4', '2', '23', '-5']
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
axs[0].plot(example_list)
axs[0].set_title("plot(['2', '0', '3', '4', '2', '23', '-5'])")
axs[0].set_ylabel('categories')
axs[1].plot([int(i) for i in example_list])
axs[1].set_title('plot([2, 0, 3, 4, 2, 23, -5])')
axs[1].set_ylabel('numbers')
关于Python matplot-ting 使用数组附加的曲线奇怪地在较高位置显示较低的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920680/
我有一个像下面这样的简单文件,上面有一些文本和数字: some text pre 69 some text post some text pre 63 some text post some text
我在 CE BltBit 中遇到问题,从以前创建的兼容 hdc 到设备的 hdc。 以下代码有效: hdc = pdis->hDC; FillRect(hdc, &(pdis->rcItem),
我应该运行吗 ALTER DATABASE DbName SET ALLOW_SNAPSHOT_ISOLATION OFF 如果暂时不用快照事务(TX)隔离(iso)? 换句话说, 首先为什么要启用它
我是一名优秀的程序员,十分优秀!