我用 Python 2.7 在 Matplotlib 中生成了 2 个图。绘图保存为 *.png 文件。保存后,两个图像具有相同的分辨率 - 宽度 = 1099 像素,高度 = 619 像素。
然而,当我垂直对齐保存的 *.png 图像时(见下图),y 轴和图像最左边点之间的间距并不相同 - 请参见下图中的a和b 。
我的意思是,从图像左侧到 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) 我遇到的问题是使用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的默认行为(连字符是减号).
我正在尝试编写一个简单的应用程序,该应用程序在按下按钮时会旋转png图像。除了图像旋转时,它在东南方向偏离中心之外,其他一切工作正常。我以为它没有绕其中心旋转,但它每旋转45度就会返回原点,这很奇怪。
在关键事件上,我只是打电话给:
pixmap = pixmap.transformed(QtGui.QTransform().rotate(-self.rot), QtCore.Qt.SmoothTransformation)
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以设置转换的原点以停止图像移动?
我是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)