python - Python 中的数据可用性图表

标签 python matplotlib plotly seaborn bokeh

我想知道Python是否有一些东西可以绘制具有多个变量的时间序列的数据可用性。下面显示的示例取自 Visavail.js - A Time Data Availability Chart

最佳答案

以下是在 Jupyter Notebook 中使用plotly 的建议:

enter image description here

代码:

import random
import pandas as pd
import plotly.express as px
from random import choices

# random data with a somewhat higher
# probability of 1 than 0 to mimic OPs data
random.seed(1)
vals=[0,1]
prob=[0.4, 0.6]
choices(vals, prob)

data=[]
for i in range(0,5):
    data.append([choices(vals, prob)[0] for c in range(0,10)])

# organize data in a pandas dataframe
df=pd.DataFrame(data).T
df.columns=['Balance Sheet', 'Closing Price', 'Weekly Report', 'Analyst Data', 'Annual Report']
drng=pd.date_range(pd.datetime(2080, 1, 1).strftime('%Y-%m-%d'), periods=df.shape[0]).tolist()
df['date']=[d.strftime('%Y-%m-%d') for d in drng]
dfm=pd.melt(df, id_vars=['date'], value_vars=df.columns[:-1])

# plotly express
fig = px.bar(dfm, x="date", y="variable", color='value', orientation='h',
             hover_data=["date"],
             height=600,
             color_continuous_scale=['firebrick', '#2ca02c'],
             title='Data Availabiltiy Plot',
             template='plotly_white',
            )

fig.update_layout(yaxis=dict(title=''), xaxis=dict(title='', showgrid=False, gridcolor='grey',
                  tickvals=[],
                            )
                 )
fig.show()

关于python - Python 中的数据可用性图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59602653/

相关文章:

python - 在一行中创建和扩展列表

python - Flask/Heroku/Redis/RQ 内部服务器错误

python - 如何获取 emf/wmf 格式的 matplotlib 图形?

Javascript - Plotly.js 数字频率顺序

r - 绘图中的自定义离散色阶

python - 如何在python中使用libxml2编写xml文件?

Python Numpy 无法将 CSV 文件中的字符串转换为整数

python - 将多条线绘制到单个 Python 图形上

python - 为什么列表中的第一个图没有绘制,但最后却有一个空图?

python - Plotly:如何从数据框中绘制桑基图?