我如何旋转X轴标签,以使它们对角线而不是在绘图上水平?
我在绘图上制作了一个条形图,但X轴标签默认情况下将转换为垂直方向。我有兴趣旋转它们以提高可读性。
import requests
from plotly.graph_objs import Bar
from plotly import offline
#Make an API call and store the response
url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
headers = {'Accept':'application/vnd.github.v3+json'}
r = requests.get(url, headers=headers)
print(f"Status code: {r.status_code}")
#Process results
response_dict = r.json()
repo_dicts = response_dict['items']
repo_names, stars = [], []
for repo_dict in repo_dicts:
repo_names.append(repo_dict['name'])
stars.append(repo_dict['stargazers_count'])
#Make visualization
data = [{
'type':'bar',
'x':repo_names,
'y':stars,
'marker':{
'color':'rgb(60,100,150)',
'line':{'width':1.5, 'color':'rgb(25,25,25)'}
}
}]
my_layout = {
'title': 'Most-Starred Python Projects on github',
'titlefont':{'size':24},
'xaxis': {
'title':'Repository',
'titlefont':{'size':24},
'tickfont':{'size':14}
},
'yaxis': {
'title':'Stars',
'titlefont':{'size':24},
'tickfont':{'size':14}
}
}
fig = {'data':data, 'layout':my_layout}
offline.plot(fig, filename='python_repos.html')
我的代码这样做:
,
但x轴上的垂直名称。我想水平。
我尝试这样做:
fig = {'data':data, 'layout':my_layout}
fig.update_xaxes(tickangle=45)
offline.plot(fig, filename='python_repos.html')
但是我遇到了一个错误,上面有人说:
AttributeError: 'dict' object has no attribute 'update_xaxes'
I am making a bar graph on plotly but the x axis labels are converted into vertical orientation by default. I would be interested in rotating them for increased readability.
import requests
from plotly.graph_objs import Bar
from plotly import offline
#Make an API call and store the response
url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
headers = {'Accept':'application/vnd.github.v3+json'}
r = requests.get(url, headers=headers)
print(f"Status code: {r.status_code}")
#Process results
response_dict = r.json()
repo_dicts = response_dict['items']
repo_names, stars = [], []
for repo_dict in repo_dicts:
repo_names.append(repo_dict['name'])
stars.append(repo_dict['stargazers_count'])
#Make visualization
data = [{
'type':'bar',
'x':repo_names,
'y':stars,
'marker':{
'color':'rgb(60,100,150)',
'line':{'width':1.5, 'color':'rgb(25,25,25)'}
}
}]
my_layout = {
'title': 'Most-Starred Python Projects on github',
'titlefont':{'size':24},
'xaxis': {
'title':'Repository',
'titlefont':{'size':24},
'tickfont':{'size':14}
},
'yaxis': {
'title':'Stars',
'titlefont':{'size':24},
'tickfont':{'size':14}
}
}
fig = {'data':data, 'layout':my_layout}
offline.plot(fig, filename='python_repos.html')
My code makes this:
But the vertical names on the x-axis. I would like to make horizontal.
I tried doing:
fig = {'data':data, 'layout':my_layout}
fig.update_xaxes(tickangle=45)
offline.plot(fig, filename='python_repos.html')
But I get an error that says:
AttributeError: 'dict' object has no attribute 'update_xaxes'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
设置图对象并以字典形式传递其内容,数据和布局。完成此操作后,可以设置X轴标签。
Set up a graph object and pass its contents, the data and layout, in dictionary form to fig. Once this is done, the x-axis labels can be set.