小编Zep*_*hyr的帖子

随着时间的推移绘制线图动画

时间序列数据是随时间变化的数据。我正在尝试用 python 制作时间序列数据线图的动画。在我下面的代码中,这转化为绘制xtraj它们和trangex 。但情节似乎并不奏效。

我在堆栈溢出上发现了类似的问题,但这里提供的解决方案似乎都不起作用。一些类似的问题是matplotlibAnimatedlineplotstaysemptyMatplotlibFuncAnimationnotanimatinglineplot以及引用帮助文件AnimationswithMatplotlib 的教程。

我首先使用第一部分创建数据并使用第二部分对其进行模拟。我尝试重命名将用作 y 值和 x 值的数据,以便更容易阅读。

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


dt = 0.01
tfinal = 5.0
x0 = 0


sqrtdt = np.sqrt(dt)
n = int(tfinal/dt)
xtraj = np.zeros(n+1, float)
trange = np.linspace(start=0,stop=tfinal ,num=n+1) 
xtraj[0] = x0

for i in range(n):
    xtraj[i+1] = xtraj[i] + np.random.normal() 

x = trange
y = xtraj

# animation line plot example

fig = …
Run Code Online (Sandbox Code Playgroud)

python animation visualization numpy matplotlib

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

在 matplotlib 中显示所有数据集的固定宽度条形

我有以下数据集。我需要绘制 1,2 或所有数据集的条形图。当我绘制单个数据项的图表时(例如:xdata=[0]ydata=[1000], xlabels=['first'],条形图会占据整个绘图区域。如何做我将条宽限制为 0.45?

ydata=[1000,250,3000,500,3200,4000,2000]
xlabels=['first','sec','third','fourth','fifth','sixth','seventh']

barwidth = 0.45

import matplotlib.pyplot as plt

def create_bar_plot(entries):
    assert entries > 0    
    xdata = range(entries)
    xlabels=xlabels[:entries]
    xdata=xdata[:entries]
    ydata=ydata[:entries]        
    figure = plt.figure(figsize = (12,6), facecolor = "white")
    ax = figure.add_subplot(1,1,1)
    plt.grid(True)
    if xdata and ydata:
        ax.bar(xdata, ydata, width=barwidth,align='center',color='blue')
        ax.set_xlabel('categories',color='black')
        ax.set_ylabel('duration in  minutes',color='black')
        ax.set_title('duration plot created ')
        ax.set_xticks(xdata)
        ax.set_xticklabels(xlabels)
        figure.autofmt_xdate(rotation=30)
        plt.show()
Run Code Online (Sandbox Code Playgroud)

当我尝试时

create_bar_plot(5)
Run Code Online (Sandbox Code Playgroud)

我得到了这个数字 https://i.stack.imgur.com/nhHEM.jpg

但当我打电话时

create_bar_plot(1)
Run Code Online (Sandbox Code Playgroud)

我得到了这个胖条

https://i.stack.imgur.com/e0IJi.jpg

那么,如何使绘图显示固定宽度的每个条形呢?看来它width=barwidthbar()没有像我预期的那样工作..很可能我错过了一些东西..

请帮忙

python matplotlib

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

突出显示 matplotlib 散点图中的特定点

我有一个包含 12 列数据的 CSV。我专注于这 4 列

现在我已经绘制了“Pass def”和“Rush def”。我希望能够突出散点图上的特定点。例如,我想在图中突出显示 1995 DAL 点并将该点更改为黄色。

我已经开始使用 for 循环,但我不知道该去哪里。任何帮助都会很棒。

这是我的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import csv
import random

df = pd.read_csv('teamdef.csv')

x = df["Pass Def."]
y = df["Rush Def."]
z = df["Season"]

points = []
for point in df["Season"]:
    if point == 2015.0:

    print(point)


plt.figure(figsize=(19,10))
plt.scatter(x,y,facecolors='black',alpha=.55, s=100)
plt.xlim(-.6,.55)
plt.ylim(-.4,.25)
plt.xlabel("Pass DVOA")
plt.ylabel("Rush DVOA")
plt.title("Pass v. Rush DVOA")
plot.show
Run Code Online (Sandbox Code Playgroud)

python csv matplotlib scatter-plot pandas

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

如何在Django中从html或js访问环境变量

这里使用设置环境变量

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myapp.settings')
Run Code Online (Sandbox Code Playgroud)

我想在 UI 中显示一些值。有什么方法可以从中访问值吗DJANGO_SETTINGS_MODULE

html javascript python django

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

删除跨列的反向对(Pandas)

我有一个 Pandas 数据框,如下所示:

Group1    Group2    Sim
 A         A        1.0
 A         B        0.5
 A         C        0.8
 B         B        1.0
 B         A        0.5
 B         C        0.7
 C         C        1.0
 C         A        0.8
 C         B        0.7
Run Code Online (Sandbox Code Playgroud)

和列代表两个组对,Group1列代表 Jaccard 相似度。Group2Sim

困难在于:成对 Jaccard 计算导致两个组列中出现重复对。

因此,例如,跨“组”列:A,B == B,A; A,C == C,A; 等等。

我正在努力弄清楚这个问题:如何删除两列中的冗余/反转对?(对更大的真实数据集的计算限制需要消除冗余。)

我期待以下输出:

Group1   Group2   Sim
A        B        0.5
A        C        0.8
B        C        0.7
Run Code Online (Sandbox Code Playgroud)

非常感谢任何对此的帮助。

谢谢!

python-3.x pandas

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

关于类、属性和方法的问题

我有一个关于.plot()Pandas 方法的小问题。

所以,让我们说你有保存到变量dateframe: df。假设您想制作关于数据框中数据的条形图。

我知道你可以通过调用来制作情节df.plot(kind='bar')。这里,.plot()是 的一种方法df

但是,您也可以通过调用df.plot.bar(). 这里,.plotdf?

这怎么可能 plot 既是 pandas 的一个属性又是一个方法df。我尝试在 python 中创建一个具有相同名称的属性和方法的类,但该方法覆盖了该属性。有人知道吗?

plot class matplotlib python-3.x pandas

5
推荐指数
0
解决办法
67
查看次数

任何人都可以解释为什么 set 的行为是这样的,其中包含布尔值?

放

请解释图像中集合的行为。我知道 set 是无序的,但是 set a & b 中的其他元素在哪里?

python set

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

如何摆脱 matplotlib 中条形标签上的科学记数法?

如何设置条形标签的格式以删除科学记数法?

highest_enrollment = course_data.groupby(
    "course_organization")["course_students_enrolled"].sum().nlargest(10)

ax = sns.barplot(x=highest_enrollment.index, 
                 y=highest_enrollment.values, 
                 ci=None, 
                 palette="ch: s=.5, r=-.5")

ax.ticklabel_format(style='plain', axis="y")

plt.xticks(rotation=90)

ax.bar_label(ax.containers[0])

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

条形图

python plot visualization matplotlib seaborn

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

Plotly Dash:单个单元格的数据表背景颜色

我在dash_table.DataTable数据框中显示,其中有一列颜色名称为十六进制格式,代码如下:

import dash
import dash_table
import pandas as pd

df = pd.DataFrame(data = dict(COLOR = ['#1f77b4', '#d62728', '#e377c2', '#17becf', '#bcbd22'],
                              VALUE = [1, 2, 3, 4, 5]))

app = dash.Dash(__name__)

app.layout = html.Div([dash_table.DataTable(id = 'table',
                                            columns = [{"name": i, "id": i} for i in df.columns],
                                            data = df.to_dict('records'))],
                      style = dict(width = '200px'))

if __name__ == '__main__':
    app.run_server()
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

在此输入图像描述

我想设置每个单元格及其内容的背景颜色(可能还有字体颜色),但仅限于该列(始终是表格的第一列)以获得以下结果:

在此输入图像描述

对我来说可以dash_table.DataTableplotly.graph_objects.Table文档)替换,这也许更可定制;plotly.graph_objects.Table前提是我可以在仪表板中实现dash

版本信息:

Python               3.7.0
dash                 1.12.0
dash-table           4.7.0 …
Run Code Online (Sandbox Code Playgroud)

python datatable background-color plotly-dash

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

将列表列转换为字典列

在一个大的熊猫数据帧,我有三列(fruitvegetable,和first_name)。这些列的值是列表。

从列表中,我想为 DataFrame 的每一行创建一个包含字典列表的新列。

我有三列(fruitvegetablefirst_name),每行都有列表作为它们的值。

我的数据框的第一行:

df = pd.DataFrame({
 "fruit": [["Apple", "Banana","Pear","Grape","Pineapple"]],
 "vegetable": [["Celery","Onion","Potato","Broccoli","Sprouts"]],
 "first_name": [["Sam", "Beth", "John", "Daisy", "Jane"]]
})
Run Code Online (Sandbox Code Playgroud)

如何将三列转换为一列并使值看起来像这样?

[
   {"fruit": "Apple", "vegetable":"Celery", "first_name":"Sam"}, 
   {"fruit": "Banana", "vegetable":"Onion", "first_name":"Beth"},
   {"fruit": "Pear", "vegetable":"Potato", "first_name":"John"},
   {"fruit": "Grape", "vegetable":"Broccoli", "first_name":"Daisy"},
   {"fruit": "Pineapple", "vegetable":"Sprouts", "first_name":"Jane"}
]
Run Code Online (Sandbox Code Playgroud)

python pandas

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