python怎么绘制图例_用Python绘制图例
尝试更改colorscale = 'Jet'并用showlegend = False隐藏图例。在
import pandas as pd
import geopy
import plotly
#get some real data
cit = pd.read_html('https://en.wikipedia.org/wiki/List_of_cities_in_India_by_population', header=0)[0]
lat = pd.read_html('https://en.wikipedia.org/wiki/List_of_cities_by_latitude', header=0)[8]
cit = cit.merge(lat[lat.Country == 'India'], left_on='City', right_on='City')
#convert longitude and latitude
lat = list()
lon = list()
for i in cit.index:
point = geopy.Point.from_string("{} {}".format(cit.get_value(i, 'Latitude'), cit.get_value(i, 'Longitude')))
lat.append(point[0])
lon.append(point[1])
cities = dict(
type = 'scattergeo',
locationmode = 'country names',
lat = lat,
lon = lon,
text = cit['City'].tolist(),
showlegend = False,
marker = dict(
size = (cit['Population (2011)[3]'] / 2000).tolist(),
color = cit['Population (2011)[3]'].tolist(),
colorscale = 'Jet',
line = dict(width=0.5, color='rgb(40,40,40)'),
sizemode = 'area',
showscale = True
)
)
layout = dict(
title = 'Some Indian Cities by Population',
showlegend = True,
autosize = False,
width = 800,
height = 1000,
geo = dict(
resolution=100,
scope='asia',
lonaxis = dict( range= [ 65.0 ,100.0] ),
lataxis = dict( range= [ 0.0,40.0 ] ),
projection=dict( type = 'Mercator'),
showland = True,
landcolor = 'rgb(50,50,50)',
subunitwidth=1,
countrywidth=1,
subunitcolor="rgb(255, 255, 255)",
countrycolor="rgb(255, 255, 255)"
),
)
fig = dict(data=[cities], layout=layout)
plotly.plotly.sign_in('user', 'key')
plot_url = plotly.plotly.plot(fig)
[1]: https://i.stack.imgur.com/I9vGD.png