我试图在我的Linux服务器上运行python脚本并制作并保存一些图.我已经安装ipython和pylab和matplotlib,但后来当我运行我的脚本,我得到这个错误:
Traceback (most recent call last):
File "/root/dining_hall_graph.py", line 14, in <module>
from pylab import *
File "/usr/lib64/python2.7/site-packages/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/usr/lib64/python2.7/site-packages/matplotlib/pylab.py", line 265, in <module>
from matplotlib.pyplot import *
File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 97, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 13, in <module>
import …Run Code Online (Sandbox Code Playgroud) 请考虑以下问题:
我想做的事:
将所有提交从root用户提交到具有干净状态的任意提交到一个大的"初始提交".
当我做:
git rebase -i --root
Run Code Online (Sandbox Code Playgroud)
并将第一次提交压缩在一起:
pick Initial commit \
fixup dirty1 |
fixup dirty2 | Squash these to one, to remove credentials.
fixup dirty3 |
fixup clean1 /
pick clean2
pick clean3
...
...
Run Code Online (Sandbox Code Playgroud)
我必须重新设置所有内容并在此之后再次解决所有合并冲突.
我怎样才能压缩前N个提交而不必解析整个历史记录,包括N + 1提交后的合并冲突.
是否可以创建具有静态大小的 RegularPolyCollection?
我想以数据单位而不是屏幕单位给出大小。就像偏移量一样。
目标是拥有一个直径为 9.5 毫米的具有 1440 个六边形像素的相机图像。
可以通过循环超过 1440 个多边形来实现这一点,但我没有成功地使用具有很大优势的 PolyCollection 创建它,用于创建颜色图等。
这是我用来绘制静态大小的 1440 个六边形的代码:
for c, x, y in zip(pixel_color, pixel_x, pixel_y):
ax.add_artist(
RegularPolygon(
xy=(x, y),
numVertices=6,
radius=4.75,
orientation=0.,
facecolor=c,
edgecolor=edgecolor,
linewidth=1.5,
)
)
Run Code Online (Sandbox Code Playgroud)
并且此代码产生相同但错误且非静态的(就数据而言)大小:
a = 1/np.sqrt(3) * 9.5
collection = RegularPolyCollection(
numsides=6,
rotation=0.,
sizes=np.ones(1440)*np.pi*a**2, # tarea of the surrounding circle
facecolors=pixel_colors,
edgecolors="g",
linewidth=np.ones(1440)*1.5,
offsets=np.transpose([pixel_x, pixel_y]),
transOffset=self.transData,
)
self.add_collection(collection)
Run Code Online (Sandbox Code Playgroud)
如何利用集合的优势实现六边形的静态大小?
为了绘制天空图,我刚刚从 Basemap 切换到 cartopy,我更喜欢它。
(主要原因是某些计算机上的 Basemap 段错误,我无法修复)。
我唯一挣扎的是得到一个 tissot 圆(用于显示我们望远镜的视锥。)
这是一些绘制随机星星的示例代码(我使用真实的目录):
import matplotlib.pyplot as plt
from cartopy import crs
import numpy as np
# create some random stars:
n_stars = 100
azimuth = np.random.uniform(0, 360, n_stars)
altitude = np.random.uniform(75, 90, n_stars)
brightness = np.random.normal(8, 2, n_stars)
fig = plt.figure()
ax = fig.add_subplot(1,1,1, projection=crs.NorthPolarStereo())
ax.background_patch.set_facecolor('black')
ax.set_extent([-180, 180, 75, 90], crs.PlateCarree())
plot = ax.scatter(
azimuth,
altitude,
c=brightness,
s=0.5*(-brightness + brightness.max())**2,
transform=crs.PlateCarree(),
cmap='gray_r',
)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我如何向该图像添加一个以度数为单位的具有特定半径的 tissot 圆? https://en.wikipedia.org/wiki/Tissot%27s_indicatrix
假设我有以下结构
mypackage
__init__.py
core.py
Run Code Online (Sandbox Code Playgroud)
与__init__.py:
from .core import my_function
__all__ = ['my_function']
Run Code Online (Sandbox Code Playgroud)
和 core.py
def myfunction():
''' really cool function '''
pass
Run Code Online (Sandbox Code Playgroud)
运行sphinx-apidoc --full -o docs,python setup.py build_sphinx
我得到myfunction两次的文档。
如何避免这种重复,最好仅在顶层使用文档(因为这是针对用户的API)。