小编Jea*_*ien的帖子

Matplotlib:图形左边缘和 y 轴之间的固定间距

我用 Python 2.7 在 Matplotlib 中生成了 2 个图。绘图保存为 *.png 文件。保存后,两个图像具有相同的分辨率 - 宽度 = 1099 像素,高度 = 619 像素。

然而,当我垂直对齐保存的 *.png 图像时(见下图),y 轴和图像最左边点之间的间距并不相同 - 请参见下图中的ab 。在此输入图像描述

我的意思是,从图像左侧到 y 轴的距离不一样(a 不等于 b)。

单击图像放大并查看。

问题: 有没有办法强制 y 轴从相对于图像左侧的特定位置开始?

注意:我不关心刻度标签和轴标签之间的空间 - 我可以使用类似的东西来调整它ax.yaxis.labelpad(25)。但是,我不知道如何修复图像左侧和 y 轴之间的空间。

注 2:我使用以下方法创建绘图:

fig = plt.figure(1)
ax = fig.add_subplot(111)
fig.tight_layout()
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib python-2.7

7
推荐指数
1
解决办法
7249
查看次数

在Matplotlib中使用连字符或减号与乳胶的兼容性

我遇到的问题是使用matplotlib.pyplot创建的pgf输出连字符而不是减号,而Latex无法解释.

我试图使用此处找到的解决方案,但它会在tick标签中将数字从整数更改为浮点数(即2000变为2000.0).我正在寻找一个解决方案,修复标志,但保持在pyplot中的默认格式.

有任何想法吗?以下示例.

myplot.py

import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter

def math_formatter(x, pos):
    return "$%s$" % x 

plt.figure()
plt.plot([1,2,3,4,5,6,7],[-1,-2,3,4,5,6,7])

axis = plt.gca()
axis.xaxis.set_major_formatter(FuncFormatter(math_formatter))
axis.yaxis.set_major_formatter(FuncFormatter(math_formatter)) 

plt.show()
Run Code Online (Sandbox Code Playgroud)

mylatex.tex

\documentclass{article}

\usepackage{pgf}

\begin{document}
    \begin{figure}[H]
        \centering
        \input{myplot.pgf}
     \end{figure}
\end{document}
Run Code Online (Sandbox Code Playgroud)

如果您在没有formatter参数的情况下进行绘图,则会将标准格式设置为int,但latex将不会将连字符识别为减号.如果使用formatter参数,则所有int都将成为浮点数.

我正在寻找一个解决方案,其中连字符被更改为减号,但无论参数(int或float或其他),刻度将表现为pyplot的默认行为(连字符是减号).

python matplotlib pdflatex

4
推荐指数
2
解决办法
3481
查看次数

在pyqt4中旋转像素图会产生不希望的翻译

我正在尝试编写一个简单的应用程序,该应用程序在按下按钮时会旋转png图像。除了图像旋转时,它在东南方向偏离中心之外,其他一切工作正常。我以为它没有绕其中心旋转,但它每旋转45度就会返回原点,这很奇怪。

在关键事件上,我只是打电话给:

pixmap = pixmap.transformed(QtGui.QTransform().rotate(-self.rot), QtCore.Qt.SmoothTransformation)
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以设置转换的原点以停止图像移动?

pyqt4

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

如何在QTableView列中添加QTreeView

我是PyQt的新手,我正在开发一个包含QTableView的项目,其中一个列显示系统路径.我想添加一个QTreeView,以便用户可以单击+>按钮来展开路径下面的内容.

这是我的基本实现:

from PyQt4 import QtGui
from PyQt4 import QtCore

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        self.resize(600,400)
        self.setWindowTitle("My Basic Treeview")

        self.treeview = QtGui.QTreeView(self)

        self.treeview.model = QtGui.QFileSystemModel()
        self.treeview.model.setRootPath('/opt')
        self.treeview.setModel(self.treeview.model)
        self.treeview.setColumnWidth(0, 200)

        self.setCentralWidget(self.treeview)

if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

虽然,在上面的例子中,我得到所有文件夹,但我只想要/opt路径及其下面的文件夹.

import operator
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class MyWindow(QWidget):
    def __init__(self, data_list, header, *args):
        QWidget.__init__(self, *args)
        # setGeometry(x_pos, y_pos, width, height)
        self.setGeometry(300, 200, 570, …
Run Code Online (Sandbox Code Playgroud)

python pyqt qtableview pyqt4

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

标签 统计

python ×3

matplotlib ×2

pyqt4 ×2

pdflatex ×1

plot ×1

pyqt ×1

python-2.7 ×1

qtableview ×1