相关疑难解决方法(0)

在matplotlib中编辑x轴刻度标签的日期格式

我期待在x轴上编辑日期的格式.下图显示了默认情况下它们在条形图中的显示方式.我想删除'Dec'和'2012'的重复,只是沿着x轴有实际的日期编号.

有关如何做到这一点的任何建议?

在此输入图像描述

python matplotlib

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

如何在matplotlib中使用日期时间更改x轴的范围?

我正在尝试绘制x轴上的日期图和y轴上的值.它工作正常,除了我不能使x轴的范围合适.x轴范围始终是2012年1月至2016年1月,尽管我的日期是从今天开始.我甚至指定xlim应该是第一个和最后一个日期.

我正在为python-django写这个,如果这是相关的.

 import datetime
 import matplotlib.pyplot as plt

 x = [datetime.date(2014, 1, 29), datetime.date(2014, 1, 29), datetime.date(2014, 1, 29)] 
 y = [2, 4, 1]

 fig, ax = plt.subplots()
 ax.plot_date(x, y)
 ax.set_xlim([x[0], x[-1]])

 canvas = FigureCanvas(plt.figure(1))
 response = HttpResponse(content_type='image/png')
 canvas.print_png(response)
 return response
Run Code Online (Sandbox Code Playgroud)

这是输出: 在此输入图像描述

python django date matplotlib

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

matplotlib:在次要标签下绘制主要刻度标签

这似乎应该很容易 - 但我看不出怎么做:

我有一个时间在X轴上的情节.我想设置两组刻度,小刻度显示当天的小时和主要刻度显示日/月.所以我这样做:

# set date ticks to something sensible:
xax = ax.get_xaxis()
xax.set_major_locator(dates.DayLocator())
xax.set_major_formatter(dates.DateFormatter('%d/%b'))

xax.set_minor_locator(dates.HourLocator(byhour=range(0,24,3)))
xax.set_minor_formatter(dates.DateFormatter('%H'))
Run Code Online (Sandbox Code Playgroud)

这标记了刻度线确定,但主刻度标签(日/月)绘制在次刻度标签之上:

SIG. 波高合奏时间序列

如何强制主要刻度标签绘制在次要刻度标签下方?我尝试在DateFormatter中添加换行符转义字符(\n),但由于垂直间距不太正确,所以这是一个很差的解决方案.

任何意见,将不胜感激!

python plot matplotlib axis-labels

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

在 Python 中绘制日期与值

我有一个非常标准的数据集,有 2 列,1 列用于日期,1 列用于值。我将它们放入两个数组中:

dates
['1/1/2014', '1/2/2014', '1/3/2014', ...]

values
[1423, 4321, 1234, ...]
Run Code Online (Sandbox Code Playgroud)

如何创建一个简单的折线图,其中 y 轴为“值”,x 轴为“日期”?

我尝试过的:

我可以在 1 行中仅用“值”绘制“Hello world”线图(太棒了):

import numpy as np
import matplotlib.pyplot as plt

plt.plot(values)
Run Code Online (Sandbox Code Playgroud)

接下来,我们添加“日期”作为 x 轴。此时我被困住了。如何将我的“日期”数组(字符串)转换为可绘制的数组?

看看示例,我相信我们应该将字符串转换为 Python Date 对象。让我们导入这些库:

import datetime
import matplotlib.dates
Run Code Online (Sandbox Code Playgroud)

好的,现在我可以将字符串转换为日期time.strptime(dates[1], '%m/%d/%Y')。如何转换整个数组?我可以写一个循环,但假设有更好的方法。

我什至不能百分百确定我是否走在制作可用于“日期”与“值”的东西的正确道路上。如果您知道制作此图的代码(我假设一旦您了解 Python + 库,它就非常基础),请告诉我。

python datetime matplotlib

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

如何使用 datetime.time 绘图

我有 HH:MM:SS 格式的时间戳列表,并希望使用 datetime.time 绘制某些值。看来 python 不喜欢我这样做的方式。有人可以帮忙吗?

import datetime
import matplotlib.pyplot as plt

# random data
x = [datetime.time(12,10,10), datetime.time(12, 11, 10)]
y = [1,5]

# plot
plt.plot(x,y)
plt.show()

*TypeError: float() argument must be a string or a number*
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

如何在python中使用myplotlib和pandas绘制CSV数据

我havea中,我使用的熊猫和存储的日期和时间在一列中读出的csv文件Python代码日期时间.现在我想在y轴上绘制传感器值,在x轴上绘制数据时间.我怎样才能实现这一目标?我的代码如下:

import pandas as pd
import datetime
import csv
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
headers = ['Sensor Value','Date','Time']
df = pd.read_csv('C:/Users\Lala Rushan\Downloads\DataLog.CSV',parse_dates=     {"Datetime" : [1,2]},names=headers)
print (df)
Run Code Online (Sandbox Code Playgroud)

下面是数据集中的一些行:

                      Datetime  Sensor Value
0     2017/02/17  19:06:17.188             2
1     2017/02/17  19:06:22.360            72
2     2017/02/17  19:06:27.348            72
3     2017/02/17  19:06:32.482            72
4     2017/02/17  19:06:37.515            74
5     2017/02/17  19:06:42.580            70
6     2017/02/17  19:06:47.660            72
Run Code Online (Sandbox Code Playgroud)

python csv matplotlib pandas

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

仅解析小时:分钟:秒使用熊猫

我有以下数据:

23:10:50        all     28.36      0.00      0.38      0.25      0.00     71.02
23:10:51        all     22.77      0.00      0.84      0.12      0.00     76.27
23:10:52        all     32.06      0.00      0.86      0.00      0.00     67.08
23:10:53        all     31.38      0.00      0.61      0.00      0.00     68.01
23:10:54        all     27.17      0.00      1.36      0.25      0.00     71.22
23:10:55        all     37.48      0.00      0.75      0.00      0.00     61.77
23:10:56        all     29.02      0.00      0.75      1.76      0.00     68.47
23:10:57        all     41.82      0.00      1.37      0.12      0.00     56.68
23:10:58        all     29.01      0.00      1.10      0.00      0.00     69.89
23:10:59        all     37.00      0.00      1.50      1.88      0.00 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

x轴matplotlib上的良好日期格式

我有以下数据帧:

Time    test
0:05    2
0:06    2
0:07    2
0:08    2
0:09    2
0:10    2
0:11    2
Run Code Online (Sandbox Code Playgroud)

该数据帧从0:00开始,到11:59结束.我创建了以下图表:

x = dftestgraph['Time']
y = dftestgraph['test']
plt.ylabel('Number of tasks')
plt.plot(x, y, color="#00a1e4", label="Number of Tasks")
plt.fill(x, y, '#00a1e4', alpha=0.8)
plt.show()
Run Code Online (Sandbox Code Playgroud)

图形

为什么图表底部有一条线,将我填充的图形分成两半?我想将我的x轴格式化为(0:00,0:30,1:00等)我试过:

plt.xticks(0:00, 11:59, 30:00))
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我的问题是:

  • 为什么我的图表中有一行,我该如何解决?
  • 如何以正确的格式设置x轴?

python matplotlib

3
推荐指数
1
解决办法
2807
查看次数

仅使用时间戳中的小时和分钟绘制具有 24 小时 x 和 y 轴的 Python 绘图

我希望创建一个 x 轴和 y 轴均包含 24 小时的图,并绘制开始时间和结束时间的散点图。我有一个 CSV,其中包含事件的 ID 和时间戳(包括年、月、日和时间),但只需要事件开始和结束的位置,无论日期如何。这是数据的一个例子。

ID        Start date        End date
431032   8/29/2014 15:33    8/29/2014 16:00
383548   7/28/2014 17:35    7/28/2014 17:45
257887   4/22/2014 19:19    4/22/2014 19:28
Run Code Online (Sandbox Code Playgroud)

换句话说,我需要根据小时和分钟制作“坐标”来比较集群数据。我从未在两个轴上使用过时间,也没有找到这样的例子。如果已经完成此操作的人可以分享一些技巧,我将非常感激。

python timestamp matplotlib seaborn

3
推荐指数
1
解决办法
6742
查看次数

标签 统计

python ×9

matplotlib ×8

pandas ×2

axis-labels ×1

csv ×1

date ×1

datetime ×1

django ×1

plot ×1

seaborn ×1

timestamp ×1