小编mso*_*ail的帖子

使用matplotlib创建超过20种独特的图例颜色

我正在使用matplotlib在一个图上绘制20条不同的线.我使用for循环绘制并用其键标记每一行,然后使用图例功能

for key in dict.keys():
    plot(x,dict[key], label = key)
graph.legend()
Run Code Online (Sandbox Code Playgroud)

但是使用这种方式,图表在图例中重复了很多颜色.有没有办法确保使用matplotlib和超过20行为每条线分配一个独特的颜色?

谢谢

python matplotlib legend

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

在NumPy中使用FFT时的频率单位

我在NumPy中使用FFT函数进行一些信号处理.我有一个数组signal ,每小时有一个数据点,共有576个数据点.我使用以下代码signal来查看其傅里叶变换.

t = len(signal)
ft = fft(signal,n=t)
mgft=abs(ft)
plot(mgft[0:t/2+1])
Run Code Online (Sandbox Code Playgroud)

我看到两个峰值,但我不确定x轴的单位是什么,即它们如何映射到小时?任何帮助,将不胜感激.

signal-processing numpy fft

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

使用 matplotlib 在鼠标悬停时使用 x,y 坐标以外的其他标签来标记散点图上的点

我正在尝试使用 DataCursor 方法(/sf/answers/327211181/)来使用 matplotlib 来标记点。我有几千个点,希望在鼠标悬停时看到它们的标签。但是,有两个区别:一是我正在制作散点图,二是我想标记每个点的名称,而不仅仅是 x,y 坐标。

这是我的代码

import os
import matplotlib.pyplot as plt

class DataCursor(object):
text_template = 'x: %0.2f\ny: %0.2f'
x, y = 0.0, 0.0
xoffset, yoffset = -20, 20
text_template = 'x: %0.2f\ny: %0.2f'

def __init__(self, ax, labels,x,y):
    self.ax = ax
self.xlist = x
self.ylist = y
self.labels = labels
    self.annotation = ax.annotate(self.text_template, 
            xy=(self.x, self.y), xytext=(self.xoffset, self.yoffset), 
            textcoords='offset points', ha='right', va='bottom',
            bbox=dict(boxstyle='round,pad=0.5', fc='yellow', alpha=0.5),
            arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0')
            )
    self.annotation.set_visible(False)

def __call__(self, event):
    self.event = event
    xdata, ydata …
Run Code Online (Sandbox Code Playgroud)

python label matplotlib

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

使用散点数据集python matplotlib的热图

我正在编写一个脚本来为两个维度上的散点图数据制作热图.以下是我想要做的一个玩具示例:

import numpy as np
from matplotlib.pyplot import*
x = [1,2,3,4,5]
y = [1,2,3,4,5]
heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
imshow(heatmap, extent = extent)
Run Code Online (Sandbox Code Playgroud)

我应该期望"最温暖的"区域沿着y = x但是它们沿着y = -x + 5出现,即热图在反方向上读取一个列表.我不确定为什么会这样.有什么建议?

谢谢

matplotlib scatter-plot heatmap

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

如何获取以"#"开头的所有字词?

我有一个像这样的字符串: "sometext #Syrup #nshit #thebluntislit"

我希望得到一个以'#'开头的所有术语列表

我使用了以下代码:

import re
line = "blahblahblah #Syrup #nshit #thebluntislit"
ht = re.search(r'#\w*', line)
ht = ht.group(0)
print ht
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

#Syrup
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以改为获得如下列表:

[#Syrup,#nshit,#thebluntislit]
Run Code Online (Sandbox Code Playgroud)

对于以"#"开头的所有字词,而不仅仅是第一个字词.

python regex hashtag

0
推荐指数
1
解决办法
2859
查看次数