小编Hot*_*non的帖子

获取UNIX中文件列表的总大小

我想运行一个find命令,找到一个特定的文件列表,然后遍历该文件列表来运行一些操作.我还想查找该列表中所有文件的总大小.

我想把文件列表放在第一位,然后做其他操作.有没有一种简单的方法可以报告列表中所有文件的总大小?

本质上,我试图在下面的代码片段中找到'total_size'变量的单行代码:

#!/bin/bash
loc_to_look='/foo/bar/location'

file_list=$(find $loc_to_look -type f -name "*.dat" -size +100M)

total_size=???

echo 'total size of all files is: '$total_size

for file in $file_list; do
         # do a bunch of operations
done
Run Code Online (Sandbox Code Playgroud)

unix bash shell

25
推荐指数
3
解决办法
3万
查看次数

在matplotlib极坐标图上旋转theta = 0

我有以下示例代码:

import numpy as np
import matplotlib.pyplot as plt
import random

data_theta = range(10,171,10)

data_theta_rad = []
for i in data_theta:
    data_theta_rad.append(float(i)*np.pi/180.0)

data_r = random.sample(range(70, 90), 17)

print data_theta
print data_r

ax = plt.subplot(111, polar=True)
ax.plot(data_theta_rad, data_r, color='r', linewidth=3)
ax.set_rmax(95)
# ax.set_rmin(70.0)
ax.grid(True)

ax.set_title("Example", va='bottom')
plt.show()
Run Code Online (Sandbox Code Playgroud)

...产生这样的东西: 在此输入图像描述

...但我想将theta = 0设置为'West'.所以类似于:

在此输入图像描述

任何想法如何用matplotlib做这个(我在powerpoint中制作了下面的图片)?

python plot matplotlib

20
推荐指数
2
解决办法
1万
查看次数

使用matplotlib在径向等高线图上记录刻度

我有一个示例脚本来制作径向等高线图:

import os
import math
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist.floating_axes as floating_axes
from matplotlib.projections import PolarAxes
from mpl_toolkits.axisartist.grid_finder import FixedLocator, MaxNLocator, DictFormatter
import random

# ------------------------------------ #

def setup_arc_radial_axes(fig, rect, angle_ticks, radius_ticks, min_rad, max_rad):

    tr = PolarAxes.PolarTransform()

    pi = np.pi

    grid_locator1 = FixedLocator([v for v, s in angle_ticks])
    tick_formatter1 = DictFormatter(dict(angle_ticks))

    grid_locator2 = FixedLocator([a for a, b in radius_ticks])
    tick_formatter2 = DictFormatter(dict(radius_ticks))

    grid_helper = floating_axes.GridHelperCurveLinear(tr,
                                extremes=((370.0*(pi/180.0)), (170.0*(pi/180.0)), max_rad, min_rad),
                                grid_locator1=grid_locator1,
                                grid_locator2=grid_locator2,
                                tick_formatter1=tick_formatter1,
                                tick_formatter2=tick_formatter2,
                                )

    ax1 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

11
推荐指数
1
解决办法
950
查看次数

在python中使用点均匀随机填充磁盘的方法

我有一个应用程序,需要一个以准随机方式填充'n'点的磁盘.我希望这些点有点随机,但在磁盘上仍然具有或多或少的常规密度.

我当前的方法是放置一个点,检查它是否在磁盘内,然后检查它是否也远离已经保留的所有其他点.我的代码如下:

import os
import random
import math

# ------------------------------------------------ #
# geometric constants
center_x = -1188.2
center_y = -576.9
center_z = -3638.3

disk_distance = 2.0*5465.6
disk_diam = 5465.6

# ------------------------------------------------ #

pts_per_disk = 256
closeness_criteria = 200.0
min_closeness_criteria = disk_diam/closeness_criteria

disk_center = [(center_x-disk_distance),center_y,center_z]
pts_in_disk = []
while len(pts_in_disk) < (pts_per_disk):
    potential_pt_x = disk_center[0]
    potential_pt_dy = random.uniform(-disk_diam/2.0, disk_diam/2.0)
    potential_pt_y = disk_center[1]+potential_pt_dy
    potential_pt_dz = random.uniform(-disk_diam/2.0, disk_diam/2.0)
    potential_pt_z = disk_center[2]+potential_pt_dz
    potential_pt_rad = math.sqrt((potential_pt_dy)**2+(potential_pt_dz)**2)

    if potential_pt_rad < (disk_diam/2.0):
        far_enough_away = True
        for pt …
Run Code Online (Sandbox Code Playgroud)

python random algorithm

10
推荐指数
3
解决办法
2971
查看次数

gnuplot:如何为每个像素绘制一个没有边距的二维数组元素

我正在尝试使用 gnuplot 5.0 来绘制一个没有边距、边框或轴的二维数据数组......只是一个表示某些数据的二维图像(.png 或 .jpg)。我希望每个数组元素都对应于图像中的一个像素没有缩放/插值等,并且边缘没有额外的白色像素。

到目前为止,当我尝试将边距设置为 0 甚至使用pixels标志时,我仍然在图像的右侧和顶部边框上留下一行白色像素。

我怎样才能得到一个图像文件,其中包含数据数组的逐像素表示,而没有额外的东西?

gnuplot 脚本:

#!/usr/bin/gnuplot --persist

set terminal png size 400, 200

set size ratio -1
set lmargin at screen 0
set rmargin at screen 1
set tmargin at screen 0
set bmargin at screen 1

unset colorbox
unset tics
unset xtics
unset ytics
unset border
unset key

set output "pic.png"

plot "T.dat" binary array=400x200 format="%f" with image pixels notitle
Run Code Online (Sandbox Code Playgroud)

来自 Fortran 90 的示例数据:

program …
Run Code Online (Sandbox Code Playgroud)

plot image gnuplot

10
推荐指数
1
解决办法
990
查看次数

按Excel 2010中的范围内的绝对值着色单元格

我想用它们的绝对值为Excel 2010中的值表着色.基本上,如果我有桌子:

在此输入图像描述

......细胞被细胞的原始值着色.我想做的是按单元格的绝对值进行着色,所以使用此表格的单元格着色:

在此输入图像描述

...但是使用第一个表的值(实际值).关于如何做到这一点的任何想法?通过GUI或VBA?

excel vba conditional-formatting excel-vba excel-2010

7
推荐指数
2
解决办法
3万
查看次数

使用Master通过自定义布局在VBA for PowerPoint 2010中创建新幻灯片

我有以下VBA代码来创建一个新的PowerPoint幻灯片:

longSlideCount = ActivePresentation.Slides.Count

With ActivePresentation.Slides
    Set slideObject = .Add(longSlideCount + 1, ppLayoutTitle)
End With
Run Code Online (Sandbox Code Playgroud)

...插入'ppLayoutTitle'类型的新幻灯片,但我想知道是否可以在'幻灯片母版视图'中创建自定义布局,然后将该特定幻灯片模板插入到演示文稿中?

提前致谢!!!

powerpoint vba powerpoint-vba powerpoint-2010

6
推荐指数
1
解决办法
2万
查看次数

如何在Visual Basic中定义大型字符串列表

我正在Visual Basic for PowerPoint 2010中编写一个宏.我想初始化一个非常大的字符串列表,如:

big_ol_array = Array( _
"string1", _
"string2", _
"string3", _
"string4" , _
  .....
"string9999" _
)
Run Code Online (Sandbox Code Playgroud)

...但是我在编辑器中收到"Too many lines continuations"错误.当我尝试初始化没有换行符的大数组时,VB编辑器无法处理这么长的行(1000+)字符.

有谁知道在VB中初始化一个庞大的字符串列表的好方法?

提前致谢!

powerpoint vba powerpoint-vba

5
推荐指数
1
解决办法
6018
查看次数

使用Python在3D中从六个点确定齐次仿射变换矩阵

我给出了三个要点的位置:

p1 = [1.0, 1.0, 1.0]
p2 = [1.0, 2.0, 1.0]
p3 = [1.0, 1.0, 2.0]
Run Code Online (Sandbox Code Playgroud)

及其转换后的对应对象:

p1_prime = [2.414213562373094,  5.732050807568877, 0.7320508075688767]
p2_prime = [2.7677669529663684, 6.665063509461097, 0.6650635094610956]
p3_prime = [2.7677669529663675, 5.665063509461096, 1.6650635094610962]
Run Code Online (Sandbox Code Playgroud)

仿射变换矩阵的形式为

trans_mat = np.array([[…, …, …, …],
                      […, …, …, …],
                      […, …, …, …],
                      […, …, …, …]])
Run Code Online (Sandbox Code Playgroud)

这样与

import numpy as np

def transform_pt(point, trans_mat):
    a  = np.array([point[0], point[1], point[2], 1])
    ap = np.dot(a, trans_mat)[:3]
    return [ap[0], ap[1], ap[2]]
Run Code Online (Sandbox Code Playgroud)

你会得到:

transform_pt(p1, trans_mat) == p1_prime
transform_pt(p2, trans_mat) …
Run Code Online (Sandbox Code Playgroud)

python linear-algebra coordinate-systems homogenous-transformation coordinate-transformation

5
推荐指数
1
解决办法
6071
查看次数

matplotlib colorbar tick标签格式

我想知道如何在matplotlib中显式设置colorbar对象的格式

以下是绘制脚本的示例:

from matplotlib import pyplot
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
from matplotlib.colors import BoundaryNorm
from matplotlib.ticker import MaxNLocator
from pylab import *
import numpy as np
import random

# ----------

plot_aspect = 1.2
plot_height = 10.0
plot_width = int(plot_height*plot_aspect)

# ----------

pyplot.figure(figsize=(plot_width, plot_height), dpi=100)
pyplot.subplots_adjust(left=0.10, right=1.00, top=0.90, bottom=0.06, hspace=0.30)
subplot1 = pyplot.subplot(111)

# ----------

cbar_max = 40.0
cbar_min = 20.0
cbar_step = 1.0
cbar_num_colors = 200
cbar_num_format = "%d"

# ----------
# make random dataset

dx, dy = 5.0, …
Run Code Online (Sandbox Code Playgroud)

python plot text matplotlib colorbar

5
推荐指数
3
解决办法
1万
查看次数