小编Fra*_*ano的帖子

matplotlib中更漂亮的默认绘图颜色

matplotlib中使用的默认颜色(例如:http://matplotlib.org/examples/pylab_examples/pie_demo.html)有点简单和丑陋.我还注意到,如果你在一个图中绘制超过5-6个不同的系列,matplotlib开始重复颜色.

我已经看到一些华丽的图形来自其他可视化软件包(在其他语言中,默认情况下),可以有5-6个不同的系列,只有一种颜色以不同的色调覆盖.有没有人有一个很好的颜色设置在matplotlib中使用?还有一种方法可以让matplotlib默认使用它吗?

python matplotlib

45
推荐指数
4
解决办法
5万
查看次数

Core 3.0 升级后,无法使用 EF Core 3.0 添加迁移

升级 core 3.0 后,无法在包管理器中添加迁移。这是我的错误

PM> Add-Migration UpdateAlertTable -Context OozymContext
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.TypeLoadException: Could not load type 'Microsoft.EntityFrameworkCore.Internal.ProductInfo' from assembly 'Microsoft.EntityFrameworkCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor..ctor(Object reportHandler, IDictionary args)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, …
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core-3.0 ef-core-3.0

9
推荐指数
2
解决办法
4471
查看次数

在highcharts中动态更新多个系列

我有highcharts-chart四行(series).我想用一个点(value)更新每个系列,并同时动态地移动这四行(1合1输出).这适用于图表中的一个系列:

chart.series[0].addPoint([x, 5], true, true);
Run Code Online (Sandbox Code Playgroud)

有没有一种快速的方法可以同时为所有四条线添加点?

Hanspeter

highcharts

8
推荐指数
1
解决办法
1万
查看次数

Matplotlib对大数据集慢,如何启用抽取?

我使用matplotlib作为信号处理应用程序,我注意到它在大型数据集上窒息.这是我真正需要改进以使其成为可用应用程序的东西.

我正在寻找的是让matplotlib抽取我的数据的方法.是否有设置,属性或其他简单方法来启用它?任何关于如何实现这一点的建议都是受欢迎的.

一些代码:

import numpy as np
import matplotlib.pyplot as plt

n=100000 # more then 100000 points makes it unusable slow
plt.plot(np.random.random_sample(n))
plt.show()
Run Code Online (Sandbox Code Playgroud)

一些背景资料

我曾经在大型C++应用程序上工作,我们需要绘制大型数据集并解决这个问题,我们过去常常利用数据结构,如下所示:

在大多数情况下,如果我们想要一个线图,那么数据是有序的,甚至通常是等距的.如果它是等距的,那么您可以直接从缩放矩形和逆轴变换计算数据数组中的起始和结束索引.如果它是有序但不是等距的,则可以使用二进制搜索.

接下来,缩放的切片被抽取,并且因为数据是有序的,所以我们可以简单地迭代落在一个像素内的点块.并且对于每个块,计算平均值,最大值和最小值.我们在绘图中绘制一个条,而不是一个像素.

例如:如果x轴是有序的,则将为每个块绘制一条垂直线,可能是具有不同颜色的平均值.

为避免混叠,绘图以2倍过采样.

如果它是散点图,则可以通过排序对数据进行排序,因为绘图顺序并不重要.

这个简单配方的好处是你放大得越快就越快.根据我的经验,只要数据适合内存,图表就会保持响应.例如,20个具有1000万点的时间历史数据图应该没问题.

python performance signal-processing matplotlib

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

联盟在2个以上的熊猫数据框架中

我试图将SQL查询转换为python.sql语句如下:

select * from table 1 
union
select * from table 2
union 
select * from table 3
union
select * from table 4
Run Code Online (Sandbox Code Playgroud)

现在我有4个数据帧中的那些表,df1, df2, df3, df4我想结合4个pandas数据帧,它将匹配结果与sql查询相同.我很困惑使用哪种操作相当于sql union?提前致谢!!

注意:所有数据帧的列名都相同.

python merge join concat pandas

7
推荐指数
2
解决办法
2万
查看次数

用 python 类中的属性覆盖属性

我有一堂课,比如:

class Parent(object):
    def __init__(self, a1 = None, a2 = None):
        someInitialization()
        self.a1 = a1
        self.a2 = a2

    def coolMethod(self): 
        return dosomething(self.a2)
Run Code Online (Sandbox Code Playgroud)

这么说吧

  • 我不想修改父类的属性
  • 我不想在初始化时提供 a1 和 a2 因为它们的计算成本很高(并且父级的每个方法都不需要它们)
  • 我不想记住 Parent 的哪个方法需要 a1 或 a2,它们应该可以工作

编辑我的实际约束并不是那么严格,但我问这个问题也是为了更好地理解类属性、方法等。

我正在使用最简单的解决方案,无需初始化继承:

class Child(Parent):
    _propertiesCache = {'a1':None,'a2':None}
    def _initProperty(self, propertyName):
        value = self._propertiesCache[propertyName]
        if value is None:
            self._propertiesCache[propertyName]=expensiveFunction(self.b, propertyName)
        return  self._propertiesCache[propertyName]

    @property
    def a1(self):
        return self._initProperty('a1')

    @property
    def a2(self):
        return self._initProperty('a2')

    def __init__(self,b):
        self.b = b
        someInitialization()
Run Code Online (Sandbox Code Playgroud)

有没有办法正确调用父类的初始化?如果我使用super(Child,self).__init__()我得到AttributeError: can't set attribute …

python inheritance properties

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

python'__ file__'未定义

情况是:

python嵌入在ios应用程序(libpython2.7.a)中,所有逻辑都由python编写,一些api支持调用swig wrap,如果python是py(c,o)一切正常但速度太慢,我想加速比我使用cython编译到.c源而不是.so,它似乎负载但是

找不到"__ file __"定义

这是调用堆栈:

[CGPLoad.py] load from file error [Error Message:

exceptions.NameError:name '__ file __' is not defined

Traceback:

init CGPLoad (build/CGPLoad.c:3054): CGPLoad.py(# 19)

init LogInOutShell (build/LogInOutShell.c:3089): LogInOutShell.py(# 20)

init CommonToolShell (build/CommonToolShell.c:6560): CommonToolShell.py(# 19)

init GameWorld (build/GameWorld.c:2516): GameWorld.py(# 19)

init IPY_GAMEWORLD (build/IPY_GAMEWORLD.c:27700): IPY_GAMEWORLD.py(# 28)

IPY_GAMEWORLD.swig_import_helper (build/IPY_GAMEWORLD.c:4304): IPY_GAMEWORLD.py(# 18)

]
Run Code Online (Sandbox Code Playgroud)

python源是:

fp, pathname, description = imp.find_module('_IPY_GAMEWORLD', [dirname(__ file __)])
Run Code Online (Sandbox Code Playgroud)

有什么问题,如何解决?

c python python-2.7

5
推荐指数
1
解决办法
2471
查看次数

与Matplotlib和TeX的均匀间距

我正在为数学课绘制一些图表,我无法在情节图例中得到和平定义的间距.我目前正在使用

\,
Run Code Online (Sandbox Code Playgroud)

在TeX的一个空间,但碰到的情况是一个稍微更远了比其它可能是由于等式的左边多少占用.这是我的代码

import matplotlib.pyplot as plt
import numpy as np
import math as math

# 0-1
x = np.linspace(0, 1)
y = np.power(x, 2)
plt.plot(x, y, label=r"$t^2 \,\,\,\,\,\, 0 \leq t \leq 1$")

#1-2
x = [1,2]
y = [1,1]
plt.plot(x, y, label=r"$1 \,\,\,\,\,\,\, 1 < t \leq 2$")

#2-3
x = np.linspace(2, 3)
y = 3-x
plt.plot(x, y, label=r"$3 - t \,\,\,\, 2 < t \leq 3$")


plt.grid()
plt.axis([0,3,0,1.5])
plt.legend(loc='upper right')
plt.show()
Run Code Online (Sandbox Code Playgroud)

这是结果

如何有效地格式化这种方式,无论左边的像素大小如何都能始终有效?

python matplotlib tex

4
推荐指数
1
解决办法
259
查看次数

在python/matplotlib中设置补丁对象的动画

我试图为一系列圆圈设置动画,以便随着时间的推移改变颜色.以下代码生成单帧的示例:

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation

nx = 20
ny = 20

fig = plt.figure()
plt.axis([0,nx,0,ny])
ax = plt.gca()
ax.set_aspect(1)

for x in range(0,nx):
    for y in range(0,ny):
        ax.add_patch( plt.Circle((x+0.5,y+0.5),0.45,color='r') )

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

如何定义函数init()和animate(),以便我可以使用例如:

animation.FuncAnimation(fig, animate, initfunc=init,interval=200, blit=True)
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib

4
推荐指数
1
解决办法
3383
查看次数

Matplotlib:我怎么知道正在使用哪个颜色图?

我玩弄了颜色图,尝试了其中的许多,并尝试在 matplotlib 和 seaborn 中制作自己的颜色图。

但是现在我想知道我使用的是哪种颜色图。我怎样才能做到这一点?有类似的命令matplotlib.whichColormap吗?

python plot matplotlib seaborn

4
推荐指数
1
解决办法
1788
查看次数