Построение графиков нескольких переменных

Введение в визуализацию данных с Julia

Gustavo Vieira Suñe

Data Analyst

Знакомство с набором данных

  • Исторические цены Invesco QQQ Trust
price_date open high low close volume
2020-01-02 214.4 216.16 213.98 216.16 30969400
2020-01-03 213.3 215.47 213.28 214.18 27518900
2020-01-06 212.5 215.59 212.24 215.56 21655300

 

  • Определение волатильности
qqq[!, "volatility"] =  100 * (qqq.high - qqq.low) ./ qqq.open
Введение в визуализацию данных с Julia

Настройка точечного графика

# Plot volume versus volatility
scatter(
    qqq.volatility,
    qqq.volume,

title="QQQ Daily Traded Volume", xlabel="Daily Range (%)", ylabel="Volume",
# Hide the legend label=false
# Change marker color markercolor=:ivory2 )

Точечный график дневного объёма торгов относительно волатильности для фонда QQQ ETF. График показывает, что рост волатильности ведёт к росту объёма торгов.

Часто используемые цвета: :blue, :red, :green, :yellow, :black, :gray, :white

1 http://juliagraphics.github.io/Colors.jl/stable/namedcolors/
Введение в визуализацию данных с Julia

Нотация с восклицательным знаком

# Plot volume versus volatility
scatter(qqq.volatility,
    qqq.volume,
    label=false
    markercolor=:ivory2
)

# Add title and axis labels title!("QQQ Daily Traded Volume") xlabel!("Daily Range (%)") ylabel!("Volume")

Точечный график дневного объёма торгов относительно волатильности для фонда QQQ ETF. График показывает, что рост волатильности ведёт к росту объёма торгов.

Введение в визуализацию данных с Julia

Корреляция

  • Связь между переменными

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

Введение в визуализацию данных с Julia

Добавление линии регрессии

# Plot volume versus volatility
scatter(qqq.volatility,
    qqq.volume,
    title="QQQ Daily Traded Volume"
    xlabel="Daily Range (%)",
    ylabel="Volume",
    label=false
    markercolor=:ivory2,

# Add regression line smooth=true,
# Customize regression line linewidth=2.5, linecolor=:magenta3, )

Точечный график дневного объёма торгов относительно волатильности для фонда QQQ ETF с добавленной линией регрессии. Положительный наклон линии регрессии указывает на положительную корреляцию между объёмом торгов и волатильностью.

Введение в визуализацию данных с Julia

Несколько линейных графиков

# Plot high and low prices
plot(
    qqq.price_date,
    # Pass both variables
    [qqq.high qqq.low],

# Assign both labels label=["High" "Low"],
# Assign widths linewidth=[4 2] ) title!("QQQ Daily Prices") xlabel!("Date") ylabel!("Price")

Линейные графики дневных максимальных и минимальных цен фонда QQQ за период в пятьдесят дней. Цены демонстрируют колебания вокруг положительного линейного тренда.

Введение в визуализацию данных с Julia

Альтернативный способ построения нескольких графиков

# Plot high price versus time
plot(qqq.price_date,
    qqq.high,
    label="High",
    linewidth=4)

# Add low prices to the figure plot!(qqq50.price_date, qqq50.low, label="Low", linewidth=2) title!("QQQ Daily Prices") xlabel!("Date") ylabel!("Price")

Линейные графики дневных максимальных и минимальных цен фонда QQQ за период в пятьдесят дней. Цены демонстрируют колебания вокруг положительного линейного тренда.

Введение в визуализацию данных с Julia

Шпаргалка

  • label — для отображения или скрытия легенды

  • Нотация с восклицательным знаком: изменение текущего графика

  • Настройка plot()

    • linewidth
    • linecolor
  • Настройка scatter()

    • markercolor
    • smooth — для добавления линии регрессии (linewidth, linecolor для её настройки) → удобный способ отобразить корреляцию
Введение в визуализацию данных с Julia

Давайте потренируемся!

Введение в визуализацию данных с Julia

Preparing Video For Download...