Как показать все данные в графическом графике для всех дат в Python 3? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь построить график с использованием сюжета. Я хочу построить ПРОДАЖИ конкретного РЕГИОНА через ДАТУ. Сначала я попытался построить ПРОДАЖИ всего РЕГИОНА через колонку ДАТА, которая построена успешно. Но когда я пытаюсь построить ПРОДАЖИ для определенного РЕГИОНА, сюжет показывает половину данных. На графике показаны значения столбца DATE, но всего за 1 месяц, как здесь, он отображается с «1 января по 1 февраля», даже если в конкретном регионе имеются данные за 3 месяца. Я попытался использовать другой регион, но он показывает график за 1 месяц только при фильтрации до уровня REGION, в то время как он показывает все значения DATE при построении графика для всего REGION. Пожалуйста, предложите мне любой способ показать все данные за 3 месяца на графике для конкретного РЕГИОНА.

import pandas as pd

Region=['East', 'East', 'East', 'East', 'East', 'East', 'East', 'East',
       'East', 'East', 'North', 'North', 'North', 'North', 'North',
       'North', 'North', 'North', 'North', 'North', 'North', 'North',
       'North', 'North', 'North', 'North', 'North', 'North', 'North',
       'North', 'North', 'North', 'North', 'North', 'North', 'South',
       'South', 'South', 'South', 'South', 'South', 'South', 'South',
       'South', 'South', 'South', 'South', 'South', 'South', 'South',
       'South', 'South', 'South', 'South', 'South', 'South', 'South',
       'South', 'South', 'South', 'West', 'West', 'West', 'West', 'West',
       'West', 'West', 'West', 'West', 'West', 'West', 'West', 'West',
       'West', 'West', 'West', 'West']

Date=['2018-01-01', '2018-01-05', '2018-01-22', '2018-02-01', '2018-02-02', '2018-02-19', '2018-02-23', '2018-03-09', '2018-03-18', '2018-03-23', '2018-01-02', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-09', '2018-01-13', '2018-01-22', '2018-01-31', '2018-02-02', '2018-02-03', '2018-02-05', '2018-02-06', '2018-02-09', '2018-02-20', '2018-02-22', '2018-02-23', '2018-02-24', '2018-03-08', '2018-03-10', '2018-03-12', '2018-03-13', '2018-03-17', '2018-03-19', '2018-03-24', '2018-03-26', '2018-01-01', '2018-01-03', '2018-01-04', '2018-01-06', '2018-01-08', '2018-01-10', '2018-01-12', '2018-01-22', '2018-02-04', '2018-02-05', '2018-02-06', '2018-02-07', '2018-02-08', '2018-02-09', '2018-02-22', '2018-02-23', '2018-02-24', '2018-02-25', '2018-02-26', '2018-03-11', '2018-03-12', '2018-03-14', '2018-03-16', '2018-03-23', '2018-03-25', '2018-01-02', '2018-01-03', '2018-01-07', '2018-01-11', '2018-01-22', '2018-02-03', '2018-02-04', '2018-02-07', '2018-02-08', '2018-02-21', '2018-02-24', '2018-02-25', '2018-03-10', '2018-03-11', '2018-03-15', '2018-03-24', '2018-03-25']

Sales=[ 20215,   6000,  22124,  12506,  20582,  16893,  17618, 407253,
       404091, 428236,  20122,  12600,  15460,  12000,  13800,  16505,
        57836,  12919,  31994,  18375,  15075,  18097,  16800,  17208,
        39300,  17119,  21662, 332309, 444733, 403845, 427565, 430442,
       429492, 433257, 450149,   7200,  19200,  19349,  12796,  25751,
        18130,  21314,  53821,  20311,  16110,  19344,  20969,  16440,
        19899,  17016,  18226,  15752, 334597,  32906, 430401, 427898,
       458760, 393953, 463615, 425819,  13800,  24579,  22825,  19597,
        34444,  14978,  21231,  19634,  21256,  16549, 125037,  36875,
       420822, 432303, 423303, 450958, 431653]

Profit=[ 210,  156,  188,  240,  210,  229,  206, 5168, 5139, 5149,  196,
        150,  253,  162,  330,  163,  662,  186,  416,  203,  194,  222,
        240,  213,  414,  188,  185, 4150, 5184, 5305, 5105, 5435, 5189,
       5287, 5080,  132,  144,  221,  229,  506,  230,  219,  682,  204,
        219,  221,  220,  217,  203,  230,  221,  220, 4276,  433, 5073,
       4987, 5095, 5189, 5251, 5132,  138,  240,  398,  222,  385,  243,
        207,  219,  184,  254, 1452,  440, 5310, 5187, 5060, 4992, 5212]

d=pd.DataFrame({'Region':Region, 'Date':pd.to_datetime(Date,yearfirst=True), 'Sales':Sales, 'Profit':Profit})

Фрейм данных можно увидеть как

enter image description here

График - Код Plotly

import plotly
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot,iplot
plotly.offline.init_notebook_mode()

# Create first trace
trace = go.Scatter(
    x = list(d.Date.sort_values()),
    y = list(d.Sales.sort_values()),
)

data = [trace]

plot(data, filename='basic-line')

График, приведенный ниже, показывает продажи для всех регионов в 3 месяца (январь, февраль и март).

enter image description here

# Create second trace
trace = go.Scatter(
    x = list(d.Date.sort_values()),
    y = list(d[d.Region=='South']['Sales'].sort_values()),
)

data = [trace]

plot(data, filename='basic-line')

Но когда он фильтруется по ЮЖНОМУ РЕГИОНУ, он показывает только один 1 месяц, даже если данные существуют в столбце ЮГ.

enter image description here

Может кто-нибудь сказать мне, как отобразить данные для остальных месяцев на графике.

...