下面柱状图效果用python怎么做出来?主要是横坐标的变量名要斜着写这种方式。matlab也行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下面柱状图效果用python怎么做出来?主要是横坐标的变量名要斜着写这种方式。matlab也行相关的知识,希望对你有一定的参考价值。

matlab实现演示效果如下:

%需要新建一个function,以下是function的代码(保存时文件名只能是rotateticklabel.m):

function th=rotateticklabel(h,rot,demo)

%ROTATETICKLABEL rotates tick labels

%   TH=ROTATETICKLABEL(H,ROT) ris the calling form where H is a handle to

%   the axis that contains the XTickLabels that are to be rotated. ROT is

%   an optional parameter that specifies the angle of rotation. The default

%   angle is 90. TH is a handle to the text objects created. For long

%   strings such as those produced by datetick, you may have to adjust the

%   position of the axes so the labels don't get cut off.

%

%   Of course, GCA can be substituted for H if desired.

%

%   TH=ROTATETICKLABEL([],[],'demo') shows a demo figure.

%

%   Known deficiencies: if tick labels are raised to a power, the power

%   will be lost after rotation.

%

%   See also datetick.

%   Written Oct 14, 2005 by Andy Bliss

%   Copyright 2005 by Andy Bliss

%DEMO:

if nargin==3

    x=[now-.7 now-.3 now];

    y=[20 35 15];

    figure

    plot(x,y,'.-')

    datetick('x',0,'keepticks')

    h=gca;

    set(h,'position',[0.13 0.35 0.775 0.55])

    rot=90;

end

%set the default rotation if user doesn't specify

if nargin==1

    rot=90;

end

%make sure the rotation is in the range 

% 0:360 (brute force method)

% while rot>360

%     rot=rot-360;

% end

% while rot<0

%     rot=rot+360;

% end

%get current tick labels

a=get(h,'XTickLabel');

%erase current tick labels from figure

set(h,'XTickLabel',[]);

%get tick label positions

b=get(h,'XTick');

c=get(h,'YTick');

%make new tick labels

if rot<180

    th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','right','fontsize',14,'fontweight','bold','rotation',rot);

else

    th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','left','fontsize',14,'fontweight','bold','rotation',rot);

end


%画好图需要旋转坐标时调用上面的rotateticklabel函数,比如用以下的测试数据

x = round(rand(5,3)*10);

h=bar(x,1,'group');

set(gca,'xticklabels','benchmark1','benchmark2','benchmark3','benchmark4','benchmark5');

h = gca;

th=rotateticklabel(h, 45)


%满意请采纳

参考技术A

# -*- coding: utf-8 -*-
"""
Created on Fri Nov 16 11:10:01 2018
@author: mayongdong
"""
import numpy as np
import matplotlib.pyplot as plt

name_list = ['lanmu1','lanmu2','lanmu3','lanmu4','lanmu5','lanmu6']
num_list = [795,583,366,260,155,80]

fig, axs = plt.subplots(2)
fig.subplots_adjust(hspace=0.75)
axs[0].bar(name_list,num_list)
axs[1].bar(name_list,num_list)

for label in axs[0].get_xmajorticklabels() + axs[1].get_xmajorticklabels():
label.set_rotation(30)
label.set_horizontalalignment("right")

希望帮助到你!

参考技术B 我用易语言能做出来,这英文看不懂追问

易语言就算了,我不会。我还要画好几张图

追答

你是用软件做

这个简单

用平时办公软件 可以做的

excel柱状图横坐标字是斜的怎么办

横坐标每个柱子的字比较多,做出来都是斜的,怎么能改直呢

选中图表中倾斜的字后点击右键,选择“设置坐标轴格式”菜单,在“对齐方式”项的右侧,有“自定义角度”,在后面输入旋转度数即可,0°为水平。
其他修改工作也可在“布局”中进行相关设置。
参考技术A 点选横坐标 右键 坐标轴格式 里面有个对齐 可以选自动 也可以自定义倾斜的角度和方向 参考技术B 双击柱子---然后选择对齐---可以选择文字方向

或者你可以将字体改小一点本回答被提问者采纳
参考技术C 方法一:把字体改小
方法二:把这个表拉大一点就行
参考技术D 你好
有时候横坐标每个柱形图下面文字过长导致看不清楚或者遮挡,看到别人的图表横坐标文字都是美美的倾斜,羡慕嫉妒恨吧,今天小编就来说说怎么把横坐标的文字整体倾斜了
开启分步阅读模式
工具材料:
Excel2007

已经做好的Excel 2007 表格

操作方法
01
打开准备好的表格

02
鼠标左键选择图表的横坐标文字,单击鼠标右键在弹出的菜单中选择”设置坐标轴格式“

03
选择”文字排版“中的”文字方向“,并设置成”横排“

04
将”自定义角度“设置成”-45°“。(输入数字以后, 按回车”°“自动添加,角度设置范围-90°到90°)

05
”关闭“设置以后最终效果

特别提示
操作需要先鼠标左键选中 横坐标文字

角度设置-90°~90°

以上是关于下面柱状图效果用python怎么做出来?主要是横坐标的变量名要斜着写这种方式。matlab也行的主要内容,如果未能解决你的问题,请参考以下文章

柱状图怎么做

excel数据透视表如何生成柱状图表

Python画截断图

java怎么生成excel柱状图

div+css实现这种柱状图效果要怎么做

echarts 图例之间的间距怎么设置