我有一个数据帧,看起来是这样的:

id         date          API_changes    count    content

134     2019-01-01           2           NaN      Nan
134     2019-02-05          34           12       API deleted
134     2019-02-12          18            8       Deprecation
134     2019-03-10          56           29       Segmentation Error
134     2019-05-12          75           40       Path deleted
134     2019-07-01          25           10       Type required
134     2019-10-09          137          55       API deprecated
134     2019-12-31          32           18       Media type removed
134     2020-01-03          150          99       Required param missing

我想以日出的形式可视化这些数据,或者任何可以捕捉到API_changescount的比例的图表.count指定每commit_dateAPI_changes中的中断更改数.

我之前以带有轨迹的散点图的形式将其可视化(x轴为date,y轴为API_changes,colorcontent列,symbol也是相同的),但这并不起作用,因为我无法直观地看到日期的变化在大小上有何不同

一种 Select 是堆积条形图,但我在想,对于这种类型的分析,是否有更独特的图表(最好是日出图)?

推荐答案

你可以try 使用Plotly Express,它直接支持Sunburst graph.

假设满分为data.csv,且:

id,date,API_changes,count,content
134,2019-01-01,2,,NaN
134,2019-02-05,34,12,API deleted
134,2019-02-12,18,8,Deprecation
134,2019-03-10,56,29,Segmentation Error
134,2019-05-12,75,40,Path deleted
134,2019-07-01,25,10,Type required
134,2019-10-09,137,55,API deprecated
134,2019-12-31,32,18,Media type removed
134,2020-01-03,150,99,Required param missing

您可以将CSV文件读入DataFrame:

import pandas as pd

df = pd.read_csv('data.csv')

并创建日出图表:

import plotly.express as px

# Assuming your dataframe is named df
df = ...

# Preprocess the data
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].dt.strftime('%Y-%m-%d')
grouped_df = df.groupby(['date', 'content']).sum().reset_index()

# Create the sunburst chart
fig = px.sunburst(
    grouped_df,
    path=['date', 'content'],
    values='count',
    color='API_changes',
    color_continuous_scale='viridis',
    title='API Changes Sunburst Chart',
    height=600,
)

fig.show()

Python-3.x相关问答推荐

像计数不显示在html和想知道如果我的模型设置正确

按小时和日期对Pandas 数据帧进行分组

谁能解释一下这个带邮编的多功能环路?

使用递归将int转换为字符串

Python GUI:tkinter应用程序作为Windows的实时桌面

公开数据中的卫星图像网页抓取优化

三重奏:为什么频道被记录为使用async with,而不是with?

如果集合大于 len(x),则 pandas 在重复的行中拆分集合列

将 rgb numpy 图像转换为 rgb 列表和相应的索引值

有没有一种方法可以通过输入从 0 到 255 的 R、G 和 B 值来生成 RGB colored颜色 ,而无需使用 python 中的 matplotlib 模块?

为什么 mypy 不适用于 sqlalchemy?

DynamoDB - boto3 - batch_write_item:提供的关键元素与架构不匹配

python2和python3中的列表生成器

Python pandas将单元格值移动到同一行中的另一个单元格

python3源的类图查看器应用程序

在数据类中创建类变量的正确方法

Python3 mysqlclient-1.3.6(又名 PyMySQL)的用法?

无法解码 Python Web 请求

Django Rest 框架 ListField 和 DictField

如何从 Base64 转换为字符串 Python 3.2