0
我有这样的代码来生成一个数字:pyqtgraph出口SVG凌乱/移
代码:
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
import pandas as pd
import pyqtgraph.exporters
pg.setConfigOption('background', 'w')
pg.setConfigOption('foreground', 'k')
df = pd.DataFrame(np.random.randint(
0, 10, size=(1000, 11)), columns=list('ABCDEFGHIJK'))
win = pg.GraphicsWindow(title="Basic plotting examples")
# win.resize(900, 600)
win.setWindowTitle('pyqtgraph example: Plotting')
# Enable antialiasing for prettier plots
pg.setConfigOptions(antialias=True)
ndays = 5
ngenos = df.shape[1]
nrows = 3
ncols = 4
p = ['p%s' % s for s in range(ngenos)]
bg = ['bg%s' % s for s in range(ngenos * ndays)]
font = QtGui.QFont()
font.setPixelSize(5)
for i in range(nrows):
for j in range(ncols):
if (i * ncols + j) < ngenos:
p[i * ncols + j] = win.addPlot(title=df.dtypes.index[i * ncols + j])
for k in range(ndays):
bg[(i * ncols + j) + k] = pg.BarGraphItem(x=range(200), y0=(10 * k), height=df.iloc[: 200*(k+1), (i * ncols + j)], width=0.3)
p[i * ncols + j].addItem(bg[(i * ncols + j) + k])
# p[i * ncols + j].showGrid(x=None, y=True)
p[i * ncols + j].setRange(xRange=(0, 200), yRange=(0, 60))
p[i * ncols + j].getAxis('bottom').tickFont = font
p[i * ncols + j].getAxis('left').tickFont = font
win.nextRow()
QtGui.QApplication.processEvents()
ex = pg.exporters.SVGExporter(win.scene())
ex.export('test2.svg')
ex = pg.exporters.ImageExporter(win.scene())
ex.export('test2.png')
pg.cleanup
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
PNG文件看起来很好,但分辨率很低。在SVG文件中,似乎所有的轴都发生了变化。
我怎么能做出SVG进出口权?谢谢!
谢谢!希望他们能尽快解决它。 – Kevin