Pandas, Bokeh, 或使用任何绘图库为季节性数据移动X轴(7->12->6个月或7月1日至6月30日)。
我想显示7月1日至6月30日的季节性季节性降雪数据. df = pd.DataFrame({'date1':['1954-03-20','1955-02-23','1956-01-01','1956-11-21','1958-01-07'], 'date2':['1954-03-25','1955-02-26','1956-02-11','1956-11-30','1958-01-17']}, index=['1954','1955','1956','1957','1958']) 这是我以前的问题的扩展斯科特·波士顿(Scott Boston)在回答我在这个问题上的评论时,建议使用range1d并修改答案,以我如何在bokeh中完成`set_xlim`或`set_ylim`?.它适用于连续标量,但我无法与[182:366],[1:181]这样的不连续范围使用. 添加x_range = range1d(182,366
2 2023-05-18
编程技术问答社区
Pandas: 使用Bokeh或任何其他绘图库将多年来的事件日期变化可视化
我想创建一个情节,其中y轴是我拥有数据的季节性数量,而X轴则在几个月和几天内.每个季节性的年份都会有两个日期. |1957|... |1956| d1--------d2 |1955| d1---------d2 |1954| d1---------d2 |June01|...|Jan01...|Feb11|...|Feb23|...|Feb26|...|Mar20|...|Mar25|.. 我几乎有我想要的图,除了X轴覆盖了整个时间跨度,而不仅仅是12个月. from bokeh.plotting import figure p1 = figure(plot_width=1000, plot_height=300, x_axis_type="datetime") p1.ci
0 2023-05-18
编程技术问答社区
在Python中制作时间剧集,但想跳过几个月
我有冰厚度的时间数据.该情节仅对冬季有用,在夏季看到巨大差距没有兴趣.是否可以在X轴上跳过夏季的月份(例如4月至10月),并具有较小的区域,颜色不同,夏季标记了? 解决方案 让我们获取此数据: import datetime n_samples = 20 index = pd.date_range(start='1/1/2018', periods=n_samples, freq='M') values = np.random.randint(0,100, size=(n_samples)) data = pd.Series(values, index=index) print(data) 2018-01-31 58 2018-02-28 93 2018-03-31 15 2018-04-30 87 2018-05-31 51 2018-06-30 67 2018-07-31 22 2018-08-31 66 2018-09-
8 2023-05-18
编程技术问答社区
matplotlib pandas季度条形图带有DateTime,索引不起作用
我有一个带有索引的大熊猫系列我试图可视化的 使用条形图.我的代码在下面.但是我得到的图表似乎并不十分准确(下图).我该如何解决? import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(100) dti = pd.date_range('2012-12-31', periods=30, freq='Q') s2 = pd.Series(np.random.randint(100,1000,size=(30)),index=dti) df4 = s2.to_frame(name='count') print('\ndf4:') print(df4) print(type(df4)) f2 = plt.figure("Quarterly",figsize=(10,5)) ax = plt.subplot(1,1,1) ax.bar(df4.index,df4['count'])
0 2023-05-18
编程技术问答社区
Pandas对柱状图进行分组和重新取样。
我有一个数据框架,该数据框在不同年内的几个不同位置记录浓度,时间频率很高( 要计算平均浓度,我必须将质量控制过滤器应用于每日和每月的数据. 我的方法是首先应用过滤器并每年重新采样,然后按位置和年份进行分组. 另外,在所有位置(在标题为位置的列中),我只需要选择几行.因此,我正在切片原始数据框架,并使用选定的行创建一个新的数据框架. 我无法使用以下代码来实现此目标: date=df['date'] location = df['location'] df.date = pd.to_datetime(df.date) year=df.date.dt.year df=df.set_index(date) df['Year'] = df['date'].map(lambda x: x.year ) #Location name selection/correction in each city: #Changing all stations: df['locati
0 2023-05-18
编程技术问答社区
在一个单一的HH:MM:SS轴上绘制不同日期的数据
DataFrame具有时间戳数据,我想在视觉上比较数据的每日时间演变.如果我groupby day并绘制图形;由于日期的差异,它们显然在时间上流离失所. 我想绘制只有时间轴的日期明智趋势的日期不可知表.为此,我诉诸于shift在以下代码 中所示的适当天数shift import pandas as pd import datetime import matplotlib.pyplot as plt index1 = pd.date_range('20141201', freq='H', periods=2) index2 = pd.date_range('20141210', freq='2H', periods=4) index3 = pd.date_range('20141220', freq='3H', periods=5) index = index1.append([index2, index3]) df = pd.DataFrame(list(range(1,
2 2023-05-18
编程技术问答社区
确定两个pandas时间序列的交叉坐标,以及时间序列的交叉次数
如果我要绘制两个时间序列,假设他们俩从左到右都有向上的积极趋势,那么无论如何是否有使用熊猫来查找两行相交的位置,并且多久一次? ? 例如: 两个时间序列相交的频率: 1 相交点的坐标是什么: x轴:1955 y轴:7 解决方案 这是一个快速尝试使用pandas的快速尝试. import pandas as pd import numpy as np df = pd.DataFrame({"A":[1,2,3,4,5], "B":[0.5,3,1,1,6]}) print df 给出 A B 0 1 0.5 1 2 3.0 2 3 1.0 3 4 1.0 4 5 6.0 然后使用差异 df['difference'] = df.A - df.B df['cross'] = np.sign(df.difference.shift(1))!=np.sign(df.difference) np.sum(df
2 2023-05-17
编程技术问答社区
在Bokeh中,我如何将工具提示添加到Timeseries图表中(悬停工具)?
是否可以将工具提示添加到时间表图表? 在下面的简化代码示例中,当鼠标徘徊在相关行上时,我想查看单个列名('a','''''','b'或'c'). 而是" ???"显示,所有三行都获得了一个工具提示(而不是仅盘旋一条工具提示) 根据文档( 如何从工具提示中显示"列"的"列"? 或,如果高级时间表接口不支持这一点,则使用较低级别接口进行同一操作的任何线索? (line?multi_line?)或将数据框架转换为其他格式(columndatasource?) 为了获得奖金,应该如何格式化" $ x"以显示日期? 预先感谢 import pandas as pd import numpy as np from bokeh.charts import TimeSeries from bokeh.models import HoverTool from bokeh.plotting import show
4 2023-05-16
编程技术问答社区
在R中绘制时间序列的困难
我一直在尝试在R中绘制时间序列数据.我在网上咨询了几个不同的来源,不知何故我仍然遇到了创建此图的问题.我模拟了下面的一些数据,这些数据代表了每日信息,这是一家2014年至2016年收到的虚构公司: #create data date_decision_made = seq(as.Date("2014/1/1"), as.Date("2016/1/1"),by="day") date_decision_made
12 2023-04-22
编程技术问答社区
对于绘制时间序列R,如何设置可变的最小和最大Y轴?
我随着时间的推移有大量的水质数据数据集.我需要创建一些标准图,以使大多数站点具有相同的Y轴刻度,以便我们网站上的观众可以使用标准Y轴查看图形.这使观众更容易在视觉上相对轻松地比较两个或多个站点.有些站点的数据超出了此标准Y轴等级,我们不想排除这些数据.我们希望将最小Y轴和最大Y轴设置为标准限制,然后在数据大于基本限制时扩展. 我有以下数据.我尝试找到一个基本数据集,但似乎没有一个适合我想要的东西.如果存在类似于我的基本数据集,请指出正确的方向,因为如果有的话,这将有助于发布其他问题.对数据的长度表示歉意;我想要足够的数据点来模仿实时序列数据(30年的水质数据). y
36 2023-04-21
编程技术问答社区
如何在ggplot2中改变时间序列中的线条属性?
从economics{ggplot2}数据集中获取以下两个时间序列的直接图 require(dplyr) require(ggplot2) require(lubridate) require(tidyr) economics %>% gather(indicator, percentage, c(4:5), -c(1:3, 6)) %>% mutate(Y2K = year(date) >= 2000) %>% group_by(indicator, Y2K) %>% ggplot(aes(date, percentage, group = indicator, colour = indicator)) + geom_line(size=1) 我想将linetype从"固体"更改为21世纪所有点的"固体"(可能也是线size),即,对于那些Y2K等于. 我做了group_by(indicator, Y2K),但是在ggplot命令中,我似乎无法在多个级
12 2023-04-21
编程技术问答社区
为什么时间序列集合图表中的数据不一致;出现不正确?
我制作了图表limeseriescollection类型.我将以下值获取到数据库. 创建图表时,所示的值并不完全准确.有人可以告诉我为什么会发生这种情况吗? 仅显示日期.小时看不正确.有人可以帮助我解决这个小问题吗?我将永远感激不已. 非常感谢大家. 来自数据库的值. select (CONCAT(data_registo, ' ', hora_registo)) as data, temperatura from registos where idSensor like 'Thermomether001' and data_registo between '2014-07-20' and '2014-07-24' 2014-07-20 00:26:03 19.4 2014-07-20 00:55:07 18.4 2014-07-20 01:58:14 18.4 2014-07-20 03:03:02 18.4 2014-07-20 04:40:13 1
0 2023-04-21
编程技术问答社区
在react中添加javascript和css文件
我正在将D3-Timeseries图与React集成. 因此,此图使用其自己的2个JavaScript文件和一个CSS文件的3个文件. 文件可在此处提供: https://github.com/mcaule/mcaule/d3-t3-timeseries/tree/master/src 另一个文件是: 在我的React应用程序中,如何参考所有这些D3 JavaScript和CSS文件?因此,我只是在HTML中仅包含所有这些文件的标签.如何在React中进行? 也 D3-Timeseries JavaScript代码我应该放入一些文件或仅参考使用.请建议,我是新手反应.谢谢. 解决方案 使用import import React from 'react'; import d3Js from 'https://d3js.org/d3.v3
22 2023-04-12
编程技术问答社区
使用GGPLOT在连续的X轴上引入一个缺口
这有点是我以前的 post 创建一个具有缺失值的堆叠区域/条图(我可以在此处找到所有脚本).但是,在这篇文章中,我问是否有可能在连续的X轴上留出间隙?我有一个时间内(一个月)一年,但是对于一个月的样本而言,我想在本月显示本月的完整差距.几乎就像绘制Jan-aug的图(SEP缺少)和一个用于Oct-Dec的图,并与Sep的差距合并. 我唯一尝试将丢失的月份视为零或na,在区域图表中创建了sep或排除它的hugh drop,但x轴分别为1-11(请参阅中Dropbox文件夹). 可以在我的 dropbox文件夹和它的内容和它的任何想法都将不胜感激! 解决方案 将系列绘制为两个单独的数据帧: #Load libraries require(ggplot2) require(reshape) #Code copied from your linked post: wa=read.table('wa_class.txt', sep="", header=F, na.st
14 2023-03-28
编程技术问答社区
Python: 条形图--按a)年和b)季度绘制所有年份的数值之和
我有时间序列数据,即按日期(yyyy-mm-dd),返回,pnl,of Trades: date returns pnl no_trades 1998-01-01 0.01 0.05 5 1998-01-02 -0.04 0.12 2 ... 2010-12-31 0.05 0.25 3 现在我想显示水平条形图 a)收益的平均值 b)PNLS的总和 : 1)年,即1998年,1999年,...,2010 2)所有年份的季度,即Q1(YYYY-01-01至YYYY-03-31),Q2,..,Q4 此外,每1)和2)应表示每个水平条旁边的数字. 因此,我认为需要有两个单独的步骤: 1)以正确的格式获取数据 2)将数据馈送到图中,然后用多个图的覆盖. 样本数
76 2023-03-27
编程技术问答社区
matplotlib:在绘制时间序列时跳过没有数据的时期
tl; dr:如何跳过绘制时间表时没有数据的时期? 我正在运行一个很长的计算,我想监视其进度.有时我打断了此计算.日志存储在一个看起来像这样的巨大CSV文件中: 2016-01-03T01:36:30.958199,0,0,0,startup 2016-01-03T01:36:32.363749,10000,0,0,regular ... 2016-01-03T11:12:21.082301,51020000,13402105,5749367,regular 2016-01-03T11:12:29.065687,51030000,13404142,5749367,regular 2016-01-03T11:12:37.657022,51040000,13408882,5749367,regular 2016-01-03T11:12:54.236950,51050000,13412824,5749375,shutdown 2016-01-03T19:02:38.293681,5
144 2023-03-22
编程技术问答社区
忽略大于x分钟的时间间隔 Python中的Matplotlib
我在上午9:30至下午4点之间每5分钟获取数据.大多数日子,我只是绘制现场日内数据.但是,有时候我想对Lets说2天以上的历史观点.唯一的问题是,在下午4点和9:30,我只需连接两个数据点的线路.我希望这个差距消失.我的代码和正在发生的事情的示例在下面; fig = plt.figure() plt.ylabel('Bps') plt.xlabel('Date/Time') plt.title(ticker) ax = fig.add_subplot(111) myFmt = mdates.DateFormatter('%m/%d %I:%M') ax.xaxis.set_major_formatter(myFmt) line, = ax.plot(data['Date_Time'],data['Y'],'b-') 我想将数据保留为时间序列,以便当我滚动时,我可以看到确切的日期和时间. 解决方案 因此,看起来您正在使用Pandas对象,这很有帮助.假设您在data['D
0 2023-03-22
编程技术问答社区
如何在Python中突出显示时间序列线情节
我正在尝试对自行车共享数据集进行分析.分析的一部分包括显示周末对日期的需求. 我在熊猫中带有最后5行的数据框看起来像这样. 这是我的日期与总骑行地块的代码. import seaborn as sns sns.set_style("darkgrid") plt.plot(d17_day_count) plt.show() . 我想在情节中突出周末.这样它可以看起来与此图相似. 我正在使用Matplotlib和Seaborn Library的Python. 解决方案 您可以使用axvspan轻松突出显示区域,以使要突出显示的区域可以通过数据框架的索引并搜索周末.我还添加了一个示例,以突出一个工作周内"占领小时"(希望不会混淆事物). 我已经根据几天创建了数据框的虚拟数据,而另一个数小时. import pandas as pd import numpy as np import matplotlib.pyplot as plt # dummy
12 2023-03-21
编程技术问答社区