using CSV, DataFrames, Gadfly
begin
    candy_filepath = "data//archive//candy.csv"
    candy_data = CSV.read(candy_filepath, DataFrame)
end;
plot(candy_data, x=:sugarpercent, y=:winpercent, Geom.point)
sugarpercent-1.5-1.0-0.50.00.51.01.52.02.5-1.0-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.10.00.10.20.30.40.50.60.70.80.91.01.11.21.31.41.51.61.71.81.92.0-1012-1.00-0.95-0.90-0.85-0.80-0.75-0.70-0.65-0.60-0.55-0.50-0.45-0.40-0.35-0.30-0.25-0.20-0.15-0.10-0.050.000.050.100.150.200.250.300.350.400.450.500.550.600.650.700.750.800.850.900.951.001.051.101.151.201.251.301.351.401.451.501.551.601.651.701.751.801.851.901.952.00h,j,k,l,arrows,drag to pani,o,+,-,scroll,shift-drag to zoomr,dbl-click to resetc for coordinates? for help?-120-100-80-60-40-20020406080100120140160180200220-100-90-80-70-60-50-40-30-20-100102030405060708090100110120130140150160170180190200-1000100200-100-95-90-85-80-75-70-65-60-55-50-45-40-35-30-25-20-15-10-505101520253035404550556065707580859095100105110115120125130135140145150155160165170175180185190195200winpercent
plot(candy_data, x=:sugarpercent, y=:winpercent, Geom.point, layer(Stat.smooth(method=:lm), Geom.line, Geom.ribbon)) 
sugarpercent-1.5-1.0-0.50.00.51.01.52.02.5-1.0-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.10.00.10.20.30.40.50.60.70.80.91.01.11.21.31.41.51.61.71.81.92.0-1012-1.00-0.95-0.90-0.85-0.80-0.75-0.70-0.65-0.60-0.55-0.50-0.45-0.40-0.35-0.30-0.25-0.20-0.15-0.10-0.050.000.050.100.150.200.250.300.350.400.450.500.550.600.650.700.750.800.850.900.951.001.051.101.151.201.251.301.351.401.451.501.551.601.651.701.751.801.851.901.952.00h,j,k,l,arrows,drag to pani,o,+,-,scroll,shift-drag to zoomr,dbl-click to resetc for coordinates? for help?-120-100-80-60-40-20020406080100120140160180200220-100-90-80-70-60-50-40-30-20-100102030405060708090100110120130140150160170180190200-1000100200-100-95-90-85-80-75-70-65-60-55-50-45-40-35-30-25-20-15-10-505101520253035404550556065707580859095100105110115120125130135140145150155160165170175180185190195200winpercent
plot(candy_data, x=:pricepercent, y=:winpercent, color=:chocolate, Geom.point,
Guide.colorkey(pos=[5mm,-20mm]))
pricepercent-1.5-1.0-0.50.00.51.01.52.02.5-1.0-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.10.00.10.20.30.40.50.60.70.80.91.01.11.21.31.41.51.61.71.81.92.0-1012-1.00-0.95-0.90-0.85-0.80-0.75-0.70-0.65-0.60-0.55-0.50-0.45-0.40-0.35-0.30-0.25-0.20-0.15-0.10-0.050.000.050.100.150.200.250.300.350.400.450.500.550.600.650.700.750.800.850.900.951.001.051.101.151.201.251.301.351.401.451.501.551.601.651.701.751.801.851.901.952.00h,j,k,l,arrows,drag to pani,o,+,-,scroll,shift-drag to zoomr,dbl-click to resetc for coordinates? for help?YesNochocolate-120-100-80-60-40-20020406080100120140160180200220-100-90-80-70-60-50-40-30-20-100102030405060708090100110120130140150160170180190200-1000100200-100-95-90-85-80-75-70-65-60-55-50-45-40-35-30-25-20-15-10-505101520253035404550556065707580859095100105110115120125130135140145150155160165170175180185190195200winpercent
plot(candy_data, x=:pricepercent, y=:winpercent, color=:chocolate, Geom.point, layer(Stat.smooth(method=:lm), Geom.line, Geom.ribbon))
pricepercent-1.5-1.0-0.50.00.51.01.52.02.5-1.0-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.10.00.10.20.30.40.50.60.70.80.91.01.11.21.31.41.51.61.71.81.92.0-1012-1.00-0.95-0.90-0.85-0.80-0.75-0.70-0.65-0.60-0.55-0.50-0.45-0.40-0.35-0.30-0.25-0.20-0.15-0.10-0.050.000.050.100.150.200.250.300.350.400.450.500.550.600.650.700.750.800.850.900.951.001.051.101.151.201.251.301.351.401.451.501.551.601.651.701.751.801.851.901.952.00YesNochocolateh,j,k,l,arrows,drag to pani,o,+,-,scroll,shift-drag to zoomr,dbl-click to resetc for coordinates? for help?-120-100-80-60-40-20020406080100120140160180200220-100-90-80-70-60-50-40-30-20-100102030405060708090100110120130140150160170180190200-1000100200-100-95-90-85-80-75-70-65-60-55-50-45-40-35-30-25-20-15-10-505101520253035404550556065707580859095100105110115120125130135140145150155160165170175180185190195200winpercent
plot(candy_data, x=:chocolate, y=:winpercent, Geom.beeswarm)
chocolateYesNoh,j,k,l,arrows,drag to pani,o,+,-,scroll,shift-drag to zoomr,dbl-click to resetc for coordinates? for help?-120-100-80-60-40-20020406080100120140160180200220-100-90-80-70-60-50-40-30-20-100102030405060708090100110120130140150160170180190200-1000100200-100-95-90-85-80-75-70-65-60-55-50-45-40-35-30-25-20-15-10-505101520253035404550556065707580859095100105110115120125130135140145150155160165170175180185190195200winpercent

Built with Julia 1.9.1 and

CSV 0.10.9
DataFrames 1.5.0
Gadfly 1.3.4

To run this tutorial locally, download [this file](/tutorials/gadflyscatter03x05.jl) and open it with Pluto.jl.