Как я могу показать отрицательные и положительные числа в виде размера и цвета на графике Python Plotly - PullRequest
0 голосов
/ 12 мая 2018

Я только что создал график с помощью Plotly, который показывает разницу в продажах по годам, поэтому результат имеет отрицательные и положительные значения.

Я хочу показать два разных цвета, которые представляют положительные и отрицательные числа, а размер круга представляет объем продаж разницы. Я хочу сделать, даже отрицательные числа, такие маленькие кружки, большие, которые показывают объем, но цвет отличается от положительного цвета.

Мой код показывает только наибольшую и наименьшую разность чисел, а цветные и отрицательные числа слишком малы.

Как я могу показать разницу продаж на графике с двумя разными цветами с размером круга?

import plotly.plotly as py
from plotly.graph_objs import *


mapbox_access_token = '**Mapbox API**'

data = Data([
    Scattermapbox(
        lat=part1_loc['Latitude'],
        lon=part1_loc['Longitude'],
        text =  part1_loc['diff2018'], 
        mode='markers',
        marker=Marker(
            showscale=True,
                cmax=39000,
                cmin=-27000,
            size= part1_loc['diff2018'],
            color =part1_loc['diff2018'],
            #color ='rgb(255, 0, 0)',
            colorscale= 'Portland',
            opacity=0.6,
            symbol = 'circle',

        ),

    )
])
layout = Layout(
    autosize=True,
    hovermode='closest',
    width=1450,
        margin=go.Margin(
        l=10,
        r=100,
        b=10,
        t=10
        ),
    height=650,
    mapbox=dict(
        accesstoken=mapbox_access_token,
        bearing=0,#
        center=dict(
            lat=-37,
            lon=175
        ),
        pitch=0,
        zoom=8.9,
        style='light',


    ),
)

fig = dict(data=data, layout=layout)
py.iplot(fig, filename='Sales_diff')

Вот мой график результатов;

enter image description here

Также я нашел пример использования для двух переменных в Plotly вот ссылка но я не знаю, как разделить отрицательные и положительные числа как разные переменные в одних данных.

Заранее спасибо

1 Ответ

0 голосов
/ 15 мая 2018

по своему опыту я использовал абсолютное значение для увеличения размера отрицательных чисел.

В моем случае набор данных был довольно сбалансированным, и чем больше значение было далеко от нуля, и тем важнее былобыть визуализированным.Итак, я решил покрасить круги на основе их значений (как вы сделали) и установить их размер, чтобы определить их важность.

В вашем случае вам просто нужно установить размер параметра следующим образом:

size= part1_loc['diff2018'].abs()

Пожалуйста, обратите внимание, что это решение было оптимальным для моих целей, которое не придавало большого значения значениям, близким к нулю.Напротив, если вы не хотите, чтобы они были слишком маленькими, вам нужно установить минимальный размер (может быть, со списком?).

...