官术网_书友最值得收藏!

1.6 使用離線繪圖庫

通過前面的案例,我們可以看到Plotly的繪圖結果雖然美觀,但是繪圖速度太慢,原因是Plotly的服務器在國外,國內用戶使用Plotly的在線繪圖會有網絡延遲。如果僅有在線繪圖,恐怕Plotly不會發展得這么快,一是如果用戶都使用在線繪圖,會導致官方的服務器壓力增大,這樣免費服務無法長久維持下去或體驗越來越差;二是這種繪圖速度國內用戶是無法接受的,所以開源的動態繪圖模塊Plotly支持離線繪圖功能。

Plotly的離線繪圖功能允許在沒有網絡的情況下繪圖,并把圖像保存到本地。有兩種方法可以實現上述功能:plotly.offline.plot ()和plotly.offline.iplot ()。

●使用plotly.offline.plot ()方法會在本地新建一個HTML文件,并可以選擇是否在瀏覽器中打開這個文件。

●使用plotly.offline.iplot ()方法會在Jupyter Notebook中直接繪圖,而不需要新建一個HTML文件。

案例代碼如下(見文件Chapter01/first_offline_start.py)。

        import plotly as py
        from plotly.graph_objs import Scatter, Layout, Data

        trace0 = Scatter(
            x=[1, 2, 3, 4],
            y=[10, 15, 13, 17]
        )
        trace1 = Scatter(
            x=[1, 2, 3, 4],
            y=[16, 5, 11, 9]
        )
        data = Data([trace0, trace1])

        py.offline.plot(data, filename = 'first_offline_start')

運行以上代碼,結果如圖1-8所示。

圖1-8 案例運行結果

在Jupyter Notebook中需要注意的是,這里需要添加一個初始化步驟,在開始繪圖之前要加入一行代碼。

        plotly.offline.init_notebook_mode()

詳細代碼如下(見文件Chapter01/first_offline_start.ipynb)。

        import plotly as py
        from plotly.graph_objs import Scatter, Layout, Data

        py.offline.init_notebook_mode()

        trace0 = Scatter(
            x=[1, 2, 3, 4],
            y=[10, 15, 13, 17]
        )
        trace1 = Scatter(
            x=[1, 2, 3, 4],
            y=[16, 5, 11, 9]
        )
        data = Data([trace0, trace1])

        py.offline.iplot(data, filename = 'first_offline_start')

代碼運行結果如圖1-9所示,與上一個案例的輸出效果一樣。

圖1-9 案例運行結果

由于在線繪圖和離線繪圖的繪圖結果沒有什么不同,所以對于在線繪圖,讀者可以自己動手修改代碼。

主站蜘蛛池模板: 嘉定区| 磴口县| 利辛县| 丰台区| 河东区| 高平市| 当涂县| 嘉兴市| 文成县| 清水河县| 荣昌县| 河南省| 龙泉市| 南皮县| 正蓝旗| 桑日县| 柳州市| 张家口市| 新兴县| 伊金霍洛旗| 庄浪县| 尼玛县| 广平县| 罗甸县| 越西县| 奉化市| 砚山县| 北票市| 平罗县| 阳信县| 从江县| 武安市| 通许县| 德兴市| 眉山市| 子长县| 阿克| 西畴县| 永德县| 会同县| 茂名市|