In [2]:
import numpy as np
import pandas as pd
import scipy

import plotly

# 使用离线
import plotly.offline as py
# import plotly.plotly as py
import plotly.graph_objs as go

# from plotly.tools import FigureFactory as FF
import plotly.figure_factory as FF

In [ ]:
# 离线绘图
py.init_notebook_mode(connected=True)

In [ ]:
data = pd.read_csv("./2010_alcohol_consumption_by_country.csv")
print(type(data), data.size)

df = data[0:10]

In [ ]:
table = FF.create_table(df)
# plot: 绘制的图存到html, iplot直接显示到inotebook上
py.iplot(table, filename='hello-test')

In [ ]:
mu1 = np.mean(data['alcohol'])
mu2 = np.mean(data.alcohol)

sigma1 = np.std(data.alcohol)

print("the alcohol mean: %r vs %r, std: %r" % (mu1, mu2, sigma1))

In [ ]:
# pandas.core.series.Series, numpy.ndarray, list
print("type: data.alcohol(%s), alcohol.values(%s), values.tolist(%s)" %(
    type(data.alcohol),
    type(data.alcohol.values),
    type(data.alcohol.values.tolist())))

print("\n\n", data.alcohol[0:5], "\n\n", data.alcohol.values[0:5], "\n\n", data.alcohol.values.tolist()[0:5])

In [ ]:
fig = FF.create_violin(data=data.alcohol.values, title="Test-Violin", colors="#00EEEE")
# 小提琴图: 用于显示数据的分布及它的概率密度
# 中间白点:均值, 粗黑线: 4分位, 细黑线: 95%置信区间, 宽度: 频度
py.iplot(figure_or_data=fig, filename="test-violin")

In [ ]:
# 箱线图: 最大值, 最小值, 中位数, 四分位数, 异常值
data_box = [
    go.Box(
        y=data.alcohol.values
    )
]
# plotly.offline.iplot(data_box)

trace0 = go.Box(
    y=data.alcohol.values,
    name='Box Plot',
    boxpoints='all',
    jitter=0.3,
    marker=dict(
        color='rgb(214,12,140)'
    )
)

layout = go.Layout(
    width=500,
    yaxis=dict(
        title='Alcohol Consumption by Country',
        zeroline=False
    ),
)
fig = go.Figure(data=[trace0], layout=layout)
plotly.offline.iplot(fig, filename="Test-Box")