时间序列数据是随时间变化的数据。我正在尝试用 python 制作时间序列数据线图的动画。在我下面的代码中,这转化为绘制xtraj它们和trangex 。但情节似乎并不奏效。
我在堆栈溢出上发现了类似的问题,但这里提供的解决方案似乎都不起作用。一些类似的问题是matplotlibAnimatedlineplotstaysempty、MatplotlibFuncAnimationnotanimatinglineplot以及引用帮助文件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) 我有以下数据集。我需要绘制 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)
我得到了这个数字

但当我打电话时
create_bar_plot(1)
Run Code Online (Sandbox Code Playgroud)
我得到了这个胖条

那么,如何使绘图显示固定宽度的每个条形呢?看来它width=barwidth并bar()没有像我预期的那样工作..很可能我错过了一些东西..
请帮忙
我有一个包含 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) 这里使用设置环境变量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myapp.settings')
Run Code Online (Sandbox Code Playgroud)
我想在 UI 中显示一些值。有什么方法可以从中访问值吗DJANGO_SETTINGS_MODULE?
我有一个 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)
非常感谢任何对此的帮助。
谢谢!
我有一个关于.plot()Pandas 方法的小问题。
所以,让我们说你有保存到变量dateframe: df。假设您想制作关于数据框中数据的条形图。
我知道你可以通过调用来制作情节df.plot(kind='bar')。这里,.plot()是 的一种方法df。
但是,您也可以通过调用df.plot.bar(). 这里,.plot是df?
这怎么可能 plot 既是 pandas 的一个属性又是一个方法df。我尝试在 python 中创建一个具有相同名称的属性和方法的类,但该方法覆盖了该属性。有人知道吗?
如何设置条形标签的格式以删除科学记数法?
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)
我在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.DataTable用plotly.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) 在一个大的熊猫数据帧,我有三列(fruit,vegetable,和first_name)。这些列的值是列表。
从列表中,我想为 DataFrame 的每一行创建一个包含字典列表的新列。
我有三列(fruit、vegetable和first_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 ×8
matplotlib ×5
pandas ×4
plot ×2
python-3.x ×2
animation ×1
class ×1
csv ×1
datatable ×1
django ×1
html ×1
javascript ×1
numpy ×1
plotly-dash ×1
scatter-plot ×1
seaborn ×1
set ×1