我想用matplotlib创建一个动画来监视聚类算法的收敛.它应该在第一次调用时绘制我的数据的散点图,并在每次更新绘图时绘制误差椭圆.我正在尝试使用canvas_copy_from_bbox()并restore_region()保存散点图,然后在我更新绘图时绘制一组新的省略号.但是,代码只是将旧椭圆绘制在旧椭圆之上,而不先清除先前的绘图.我怀疑,不知何故,这种方法Ellipse()与add_path()命令不兼容,但我不知道如何解决这个问题.
这是代码:
import wx
import math
from math import pi
from matplotlib.patches import Ellipse
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import \
FigureCanvasWxAgg as FigureCanvas
TIMER_ID = wx.NewId()
class _MonitorPlot(wx.Frame):
def __init__(self, data, scale=1):
self.scale = scale
wx.Frame.__init__(self, None, wx.ID_ANY,
title="FlowVB Progress Monitor", size=(800, 600))
self.fig = Figure((8, 6), 100)
self.canvas = FigureCanvas(self, wx.ID_ANY, self.fig)
self.ax = self.fig.add_subplot(111)
x_lims = [data[:, 0].min(), data[:, 0].max()]
y_lims = [data[:, 1].min(), data[:, 1].max()]
self.ax.set_xlim(x_lims)
self.ax.set_ylim(y_lims) …Run Code Online (Sandbox Code Playgroud) 我正在构建一个小程序来从市场中检索数据并实时绘制图表.虽然交易决策将在很大程度上自动化,但图表会不断更新,以便有人可以跟踪决策的采取方式,并在必要时进行人工干预.
什么是一个很好的GUI库任务(对于Python).以下是考虑因素 -
编程语言:Python(您认为我应该使用其他东西吗?甚至可以使用不同的语言进行GUI和后端操作?!!).
操作系统:最好是跨平台的,但如果它必须是平台特定的,那么它就是Linux.
速度 + 学习曲线:虽然时间(低延迟)不是一个关键问题,我更喜欢易于使用和快速学习的东西,但程序必须感觉到响应,我不想为了便于编码而交易速度超过一定点.我想这是你的经历可以帮助我的部分.
我曾经强烈考虑过WxPython,但有些评论说它设计得不好(因为它不适合Python!)
因此,任务的复杂性和元考虑已经摆在你面前.请帮忙/建议.
PS:虽然我们在这里,如果有人可以评论一个合适的图表库,那就太好了.
我正在寻找一种方法,可以将wxPython GUI元素添加到pygame中.如果有替代方法可以解决将GUI元素添加到pygame的目的,请提示.我在安装PGU时遇到问题.谢谢你的帮助.
我设计了一个Windows工具软件的Windows 7中编码的Python与wxPython的用于GUI works.I不用想,如果它已经打开了,打开我的软件.我希望这样的功能,如果用户打开该软件,将在Windows屏幕上显示一个消息框,显示"您的应用程序已在运行".
Plz的帮助.提前致谢...
我正在使用此代码,当我点击底图Matplotlib图中的一个点时,会在地图上弹出注释.
dcc = DataCursor(self.figure.gca())
self.figure.canvas.mpl_connect('pick_event',dcc)
plot_handle.set_picker(5)
self.figure.canvas.draw()
class DataCursor(object):
import matplotlib.pyplot as plt
text_template = 'x: %0.2f\ny: %0.2f'
x, y = 0.0, 0.0
xoffset, yoffset = -20 , 20
text_template = 'A: %s\nB: %s\nC: %s'
def __init__(self, ax):
self.ax = ax
self.annotation = ax.annotate(self.text_template,
xy=(self.x, self.y), xytext=(0,0),
textcoords='axes fraction', ha='left', va='bottom', fontsize=10,
bbox=dict(boxstyle='round,pad=0.5', fc='yellow', alpha=1),
arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0')
)
self.annotation.set_visible(False)
self.annotation.draggable()
def __call__(self, event):
self.event = event
self.x, self.y = event.mouseevent.xdata, event.mouseevent.ydata
if self.x is not None:
glim = pickle.load(open("ListA.py","rb"))
tlim …Run Code Online (Sandbox Code Playgroud) 我正在开发自定义记录器程序,根据我需要获取进程,线程和对象名称的要求在被调用函数内部(在下面的示例中,它的obj需要在get_configured_logger函数内部获取)和obj所属的类名.如下面代码中的注释所示,请提供一些实现此目的的想法.
import logging, logging.handlers
from logging import StreamHandler, Formatter
class A:
def get_configured_logger(self,name):
logger = logging.getLogger(name)
if (len(logger.handlers) == 0):
FORMAT = "%(process)s %(thread)s:-(asctime)s - %(name)s - %(levelname)s - %(message)-%(module)"
#print 'process:',process
#print 'thread:',thread
#print 'levelname:',levelname
#print 'Module:',(name portion of filename).
#print 'obj:,'name of the object(Eg:obj),current function( Eg: get_configured_logger) called by'
#print 'class name:(obj is instance of class)'
formatter = logging.Formatter(fmt=FORMAT)
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
return logger
if __name__=="__main__":
obj=A()
logger = obj.get_configured_logger("DEMO")
logger.debug("TEST")
Run Code Online (Sandbox Code Playgroud)
谢谢
HEMA
我以wx这种方式获得命名颜色:
import wx.lib.colourdb as wb
wb.getColourList()
Run Code Online (Sandbox Code Playgroud)
虽然"ORANGE"在wx.lib.colourdb,但我无法设置网格单元的颜色,wx.ORANGE因为它说:
AttributeError: 'module' object has no attribute 'ORANGE'
Run Code Online (Sandbox Code Playgroud)
我如何使用中定义的颜色wx.lib.colourdb.getColourList()?
我想问一下如何在wxPython面板中嵌入一个海盗形象.
与这篇文章类似,我想在wxPython面板中嵌入一个外部数字.wxPython根据Seaborn的kdeplot函数,我希望GUI 的特定面板根据高斯内核的带宽值绘制数据的密度轮廓,以及数据点的散点图.以下是我希望在面板中绘制的示例:
到目前为止,我已经设法从一个单独的图中得到我想要的wxPython面板.是否有可能在一个wxPython面板中嵌入一个seaborn情节或者应该找到另一种方法来实现我想要的东西?
下面是我的代码的特定部分,在需要时生成绘图:
import seaborn as sns
import numpy as np
fig = self._view_frame.figure
data = np.loadtxt(r'data.csv',delimiter=',')
ax = fig.add_subplot(111)
ax.cla()
sns.kdeplot(data, bw=10, kernel='gau', cmap="Reds")
ax.scatter(data[:,0],data[:,1], color='r')
fig.canvas.draw()
Run Code Online (Sandbox Code Playgroud)
这部分代码在wxPython面板中绘制了散乱的数据点,并为密度轮廓创建了一个外部图形.但是,如果我尝试ax.sns.kdeplot(...)我得到错误
属性错误:AxesSubplot对象没有属性.sns
我不知道我是否可以在wxPython面板中嵌入Seaborn人物,或者我应该尝试以另一种方式实现它.有什么建议?
提前致谢.
我在anaconda环境中使用python.当我导入matplotlib时,我遇到了与xwpython的兼容性问题.所以,我想切换后端.通常,这将使用matplotlibrc文件完成.但是,似乎~/.config/matplotlib/忽略了matplotlibrc .是否可以检查在导入matplotlib期间是否使用了matplotlibrc文件?使用python 2.7.
wxpython ×10
python ×8
matplotlib ×4
python-2.7 ×2
annotations ×1
button ×1
colors ×1
ironpython ×1
pygame ×1
python-3.x ×1
seaborn ×1
trading ×1