def plot_world_with_elegans(<EOL>world, radius=None, width=<NUM_LIT>, height=<NUM_LIT>, config=None, grid=True,<EOL>wireframe=False, species_list=None, debug=None, max_count=<NUM_LIT:1000>,<EOL>camera_position=(-<NUM_LIT>, <NUM_LIT>, <NUM_LIT:32>), camera_rotation=(-<NUM_LIT>, <NUM_LIT:0.5>, <NUM_LIT>),<EOL>return_id=False, predicator=None):
config = config or {}<EOL>from IPython.core.display import display, HTML<EOL>from .simulation import load_world<EOL>if isinstance(world, str):<EOL><INDENT>world = load_world(world)<EOL><DEDENT>species = __parse_world(world, radius, species_list, max_count, predicator)<EOL>color_scale = default_color_scale(config=config)<EOL>plots = []<EOL>for species_info in species:<EOL><INDENT>plots.append({<EOL>'<STR_LIT:type>': '<STR_LIT>',<EOL>'<STR_LIT:data>': species_info['<STR_LIT:data>'],<EOL>'<STR_LIT>': {<EOL>'<STR_LIT:name>': species_info['<STR_LIT:name>'],<EOL>'<STR_LIT>': color_scale.get_color(species_info['<STR_LIT:name>']),<EOL>'<STR_LIT:size>': species_info['<STR_LIT:size>']<EOL>}<EOL>})<EOL><DEDENT>if debug is not None:<EOL><INDENT>data = {'<STR_LIT:type>': [], '<STR_LIT:x>': [], '<STR_LIT:y>': [], '<STR_LIT:z>': [], '<STR_LIT>': []}<EOL>for obj in debug:<EOL><INDENT>for k, v in obj.items():<EOL><INDENT>data[k].append(v)<EOL><DEDENT><DEDENT>plots.append({<EOL>'<STR_LIT:type>': '<STR_LIT>',<EOL>'<STR_LIT:data>': data,<EOL>'<STR_LIT>': {}<EOL>})<EOL><DEDENT>model = {<EOL>'<STR_LIT>': plots,<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': width,<EOL>'<STR_LIT>': height,<EOL>'<STR_LIT>': __get_range_of_world(world),<EOL>'<STR_LIT>': False,<EOL>'<STR_LIT>': grid,<EOL>'<STR_LIT>': True<EOL>}<EOL>}<EOL>if wireframe:<EOL><INDENT>model['<STR_LIT>']['<STR_LIT>'] = '<STR_LIT>'<EOL><DEDENT>model_id = '<STR_LIT>' + str(uuid.uuid4()) + '<STR_LIT:">'<EOL>display(HTML(generate_html(<EOL>{'<STR_LIT>': json.dumps(model), '<STR_LIT>': model_id,<EOL>'<STR_LIT>': camera_position[<NUM_LIT:0>], '<STR_LIT>': camera_position[<NUM_LIT:1>], '<STR_LIT>': camera_position[<NUM_LIT:2>],<EOL>'<STR_LIT>': camera_rotation[<NUM_LIT:0>], '<STR_LIT>': camera_rotation[<NUM_LIT:1>], '<STR_LIT>': camera_rotation[<NUM_LIT:2>]},<EOL>'<STR_LIT>')))<EOL>if return_id:<EOL><INDENT>return model_id<EOL><DEDENT>
Generate a plot from received instance of World and show it on IPython notebook.
This method returns the instance of dict that indicates color setting
for each speices. You can use the dict as the parameter of plot_world,
in order to use the same colors in another plot.

Parameters
----------
world : World or str
    World or a HDF5 filename to render.
radius : float, default None
    If this value is set, all particles in the world will be rendered
    as if their radius are the same.
width : float, default 350
    Width of the plotting area.
height : float, default 350
    Height of the plotting area.
config : dict, default {}
    Dict for configure default colors. Its values are colors unique
    to each speices. The dictionary will be updated during this plot.
    Colors included in config dict will never be used for other speices.
species_list : array of string, default None
    If set, plot_world will not search the list of species.
max_count : Integer, default 1000
    The maximum number of particles to show for each species.
debug : array of dict, default []
    *** EXPERIMENTAL IMPRIMENTATION ***
    Example:
    >> [{'type': 'box', 'x': 10, 'y': 10, 'z': 10, 'options': {'width': 1, 'height': 1}}]
    type: 'box', 'plane', 'sphere', and 'cylinder'
    x, y, z: float
    options:
        box: width, height, depth
        plane: width, height
        sphere: radius
        cylinder: radius, height
camera_position : tuple, default (-22, 23, 32)
camera_rotaiton : tuple, default (-0.6, 0.5, 0.6)
    Initial position and rotation of camera.
return_id : bool, default False
    If True, return a model id, which is required for `to_png` function.