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
0 2024-04-01
编程技术问答社区
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 2024-04-01
编程技术问答社区
在Bokeh中,我如何将工具提示添加到Timeseries图表中(悬停工具)?
是否可以将工具提示添加到时间表图表? 在下面的简化代码示例中,当鼠标徘徊在相关行上时,我想查看单个列名('a','''''','b'或'c'). 而是" ???"显示,所有三行都获得了一个工具提示(而不是仅盘旋一条工具提示) 根据文档( http://///docs.bokeh.orgeh.org/en/latest/docs/user_guide/tools.html#hovertool ),以"@"开头的字段名称被解释为数据源上的列. 如何从工具提示中显示"列"的"列"? 或,如果高级时间表接口不支持这一点,则使用较低级别接口进行同一操作的任何线索? (line?multi_line?)或将数据框架转换为其他格式(columndatasource?) 为了获得奖金,应该如何格式化" $ x"以显示日期? 预先感谢 import pandas as pd import numpy as np from bokeh.
4 2024-04-01
编程技术问答社区
绘制值的绘制总和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)将数据馈送到图中,然后用多个图的覆盖. 样本数据
12 2024-03-27
编程技术问答社区
高位图(时间序列可缩放)在我的数据中不起作用
我刚刚开始使用高图表(时间序列Zoomable ),并且我有一个类似的数据: [ {"StartTime":"2018-06-11T00:00:00","TotalReq":10}, {"StartTime":"2018-06-12T00:00:00","TotalReq":34}, {"StartTime":"2018-06-15T00:00:00","TotalReq":31}, {"StartTime":"2018-06-16T00:00:00","TotalReq":2}, {"StartTime":"2018-06-18T00:00:00","TotalReq":38}, {"StartTime":"2018-06-19T00:00:00","TotalReq":69}, {"StartTime":"2018-06-20T00:00:00","TotalReq":39}, {"StartTime":"2018
2 2024-03-14
编程技术问答社区
如何突出显示时间序列折线图的周末
我正在尝试对自行车共享数据集进行分析.分析的一部分包括显示周末对日期的需求. 我在熊猫中带有最后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
4 2023-11-20
编程技术问答社区
Matplotlib的pandas季度条形图,以数据时间为索引不工作
我有一个带有索引的大熊猫系列我试图可视化的 使用条形图.我的代码在下面.但是我得到的图表似乎并不十分准确(下图).我该如何解决? 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'])
2 2023-10-22
编程技术问答社区
对于绘制时间序列R,如何设置可变的最小和最大Y轴?
我随着时间的推移有大量的水质数据数据集.我需要创建一些标准图,以便大多数站点具有相同的Y轴刻度,以便我们网站上的观众可以使用标准Y轴查看图形.这使观众更容易在视觉上相对轻松地比较两个或多个站点.有些站点的数据超出了此标准Y轴等级,我们不想排除这些数据.我们希望将最小Y轴和最大Y轴设置为标准限制,然后在数据大于基本限制时扩展. . 我有以下数据.我尝试找到一个基本数据集,但似乎没有一个适合我想要的东西.如果存在类似于我的基本数据集,请指出正确的方向,因为如果有的话,它将有助于发布其他问题.对数据的长度表示歉意;我想要足够的数据点来模仿实时序列数据(30年的水质数据). y
8 2023-10-22
编程技术问答社区
基于时间序列的颜色/填充的时间线条' 值(R ggplot)。
我有一个时间序列数据框架,并定期进行压力读数. time pressure diff 1 2014-09-09 09:12:29 1.6191598 0.00000000 2 2014-09-09 09:12:28 3.0137784 -0.07668387 3 2014-09-09 09:12:27 1.1958183 0.58693260 4 2014-09-09 09:12:26 2.2803681 1.07774954 5 2014-09-09 09:12:25 -0.7614310 -0.17864232 6 2014-09-09 09:12:24 0.9914106 -0.70121973 我可以轻松地使用ggplot2做出压力的线图.但是在此线图下方,我想拥有一个水平条,其中填充颜色取决于两个连续样品之间的压力差(DF Field diff). 例如,在压力差为零的情况下,条将是白色的(即连续
4 2023-10-22
编程技术问答社区
在一个单一的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,
6 2023-10-21
编程技术问答社区
ggplot时间序列的绘制:按日期分组
我想在同一面板图上绘制几个时间序列,而不是在单独的面板中.我从另一个stackoverflow post . 请注意3个时间序列的3个不同面板.我将如何在1个套件上分层3个时间序列,并且每条线的颜色都不同. Time = Sys.time()+(seq(1,100)*60+c(rep(1,100)*3600*24, rep(2, 100)*3600*24, rep(3, 100)*3600*24)) Value = rnorm(length(Time)) Group = c(0, cumsum(diff(Time) > 1)) library(ggplot2) g
12 2023-10-21
编程技术问答社区
使用D3.js解析时间序列数据
是时候寻求帮助了.我已经研究了D3.js已有数周之久了,刚刚开始觉得我了解其中的10%(HA,HA,HA).我正在尝试生成一个非常简单的线路图.只要数据非常简单,我就可以执行此操作,但是我的原始数据源具有UTC时间戳,而真实/十进制数字不断崩溃. 原始数据源看起来像这样: { "Links": {}, "Items": [ { "Timestamp": "2016-07-12T22:21:10Z", "Value": 1055.6793212890625, "UnitsAbbreviation": "m3/h", "Good": true, "Questionable": false, "Substituted": false }, { "Timestamp": "2016-07-12T22:39:10Z", "Value": 989.0083007
10 2023-10-21
编程技术问答社区
在Python中聚合时间序列
我们如何按小时或细微的粒度汇总时间序列?如果我有以下时间序列,那么我希望这些值按小时汇总.熊猫是在python中支持的吗? 是一种漂亮的方法 timestamp, value 2012-04-30T22:25:31+00:00, 1 2012-04-30T22:25:43+00:00, 1 2012-04-30T22:29:04+00:00, 2 2012-04-30T22:35:09+00:00, 4 2012-04-30T22:39:28+00:00, 1 2012-04-30T22:47:54+00:00, 8 2012-04-30T22:50:49+00:00, 9 2012-04-30T22:51:57+00:00, 1 2012-04-30T22:54:50+00:00, 1 2012-04-30T22:57:22+00:00, 0 2012-04-30T22:58:38+00:00, 7 2012-04-30T23:05:21+00:00, 1 2012-04-30T2
12 2023-10-21
编程技术问答社区
JFreeChart-change SeriesStroke of chart lines from solid to dashed in one line
这里接受的答案(/* series line modifications */ final Number dashedAfter = timeNowDate.getTime(); XYLineAndShapeRenderer render = new XYLineAndShapeRenderer() { Stroke regularStroke = new BasicStroke(); Stroke dashedStroke = new BasicStroke( 1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] {10.0f, 6.0f}, 0.0f ); @Override public Stroke getItemStroke(int row, int column) { Number xVal = cd.getXValue(row, column); if (xVal.doubleValue
10 2023-10-21
编程技术问答社区
如何从 "过去72小时 "的JFreeChart时间序列中只显示 "过去24小时"?
我写了这两行代码,以使用XYDataset: 创建图表 final XYDataset dataset = new TimeSeriesCollection(myInfo.getSeries()); JFreeChart timechart = ChartFactory.createTimeSeriesChart(myInfo.getName() + " CPU (last 72h)", "", "CPU %", dataset, false, false, false); 这些行创建了这个不错的"最后72H"图表: 这是我添加信息以构建此图表的方式(此代码可以多次运行): SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd H:mm:ss"); Date date = simpleDateFormat.parse(dateAsStringToParse); Second s
16 2023-10-21
编程技术问答社区