<｜begin▁of▁sentence｜>### Instruction:
Given a simple undirected graph with the edge set [(0, 1), (1, 2), (2, 0)], can you use the GraphArtist in igraph to create a visual representation of the graph with customized vertex and edge styles?
### Response:
import igraph as ig
import matplotlib.pyplot as plt

# Create a graph
g = ig.Graph(edges=[(0, 1), (1, 2), (2, 0)])

# Create an initial layout for the graph
layout = g.layout('kk')

# Define style for vertices and edges
vertex_style = {'color': 'blue', 'size': 0.5}
edge_style = {'color': 'gray', 'width': 1.0}

# Create a GraphArtist instance
artist = ig.drawing.GraphArtist(g, layout=layout, vertex_style=vertex_style, edge_style=edge_style)

fig, ax = plt.subplots()
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)

# Draw the graph using the GraphArtist
artist.draw()

# Get datalim (limits for the axes based on the graph layout)
datalim = artist.get_datalim()

# Adjust axes limits based on the datalim
tax.set_xlim(datalim[0], datalim[1])
ax.set_ylim(datalim[2], datalim[3])

# Display the plot
plt.show()
<|EOT|>
