如何在cmd中运行此代码以查看可视化输出?

时间:2019-09-26 14:07:17

标签: python jupyter-notebook

我已经在jupyter笔记本中运行了此代码,并成功获得了交互式的散点图输出。但是我想从cmd运行此特定代码,所以我继续将其保存为.py文件并通过cmd运行,我没有收到任何错误,但是我没有看到可视化效果,有人可以帮帮我吗

import plotly.graph_objs as go
import plotly.offline as py

import pandas as pd
import numpy as np
from ipywidgets import interactive, HBox, VBox

py.init_notebook_mode()

df = pd.read_csv('https://raw.githubusercontent.com/jonmmease/plotly_ipywidget_notebooks/master/notebooks/data/cars/cars.csv')

f = go.FigureWidget([go.Scatter(y = df['City mpg'], x = df['City mpg'], mode = 'markers')])
scatter = f.data[0]
N = len(df)
scatter.x = scatter.x + np.random.rand(N)/10 *(df['City mpg'].max() - df['City mpg'].min())
scatter.y = scatter.y + np.random.rand(N)/10 *(df['City mpg'].max() - df['City mpg'].min())
scatter.marker.opacity = 0.5

def update_axes(xaxis, yaxis):
    scatter = f.data[0]
    scatter.x = df[xaxis]
    scatter.y = df[yaxis]
    with f.batch_update():
        f.layout.xaxis.title = xaxis
        f.layout.yaxis.title = yaxis
        scatter.x = scatter.x + np.random.rand(N)/10 *(df[xaxis].max() - df[xaxis].min())
        scatter.y = scatter.y + np.random.rand(N)/10 *(df[yaxis].max() - df[yaxis].min())

axis_dropdowns = interactive(update_axes, yaxis = df.select_dtypes('int64').columns, xaxis = df.select_dtypes('int64').columns)

# Create a table FigureWidget that updates on selection from points in the scatter plot of f
t = go.FigureWidget([go.Table(
    header=dict(values=['City mpg','Classification','Driveline','Engine Type','Fuel Type','Height','Highway mpg','Horsepower','Hybrid','ID','Length','Make','Model Year','Number of Forward Gears','Torque','Transmission','Width','Year'],
                fill = dict(color='#C2D4FF'),
                align = ['left'] * 5),
    cells=dict(values=[df[col] for col in ['City mpg','Classification','Driveline','Engine Type','Fuel Type','Height','Highway mpg','Horsepower','Hybrid','ID','Length','Make','Model Year','Number of Forward Gears','Torque','Transmission','Width','Year']],
               fill = dict(color='#F5F8FF'),
               align = ['left'] * 5))])

def selection_fn(trace,points,selector):
    t.data[0].cells.values = [df.loc[points.point_inds][col] for col in ['City mpg','Classification','Driveline','Engine Type','Fuel Type','Height','Highway mpg','Horsepower','Hybrid','ID','Length','Make','Model Year','Number of Forward Gears','Torque','Transmission','Width','Year']]
scatter.on_selection(selection_fn)

# Put everything together
VBox((HBox(axis_dropdowns.children),f,t))
'''

The expected result should be an html page with the visualization as the output ran from cmd

1 个答案:

答案 0 :(得分:0)

在cmd上,转到.py文件所在的目录,然后键入python yourfilename.pypython3 yourfilename.py