精华内容
下载资源
问答
  • python柱状图横坐标刻度
    2020-11-23 18:01:36

    Q6:下面柱状图效果用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 dont 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 doesnt 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)

    %满意请采纳

    更多相关内容
  • Python-柱状图-横坐标为字符

    千次阅读 2022-01-06 16:20:46
    import numpy as np from scipy.fftpack import fft import pandas as pd import matplotlib matplotlib.rcParams['backend'] = 'SVG' # import seaborn # import math as mt import matplotlib.pyplot as plt ...
    import numpy as np
    from scipy.fftpack import fft
    import pandas as pd
    import matplotlib
    matplotlib.rcParams['backend'] = 'SVG'
    # import seaborn
    # import math as mt
    import matplotlib.pyplot as plt
    # import seaborn as sns
    # sns.set(style='darkgrid')
    
    y=[150,151,170,177]
    name=['Cu','CNT-Cu1','CNT-Cu2','CNT-Cu3']
    x = range(len(name))
    plt.figure(figsize=(6,4))    #8,4分别是横纵画布的长度大小
    plt.bar(x, y,width=0.3)
    plt.xticks(x, name)
    plt.tick_params(labelsize=17) 

     

    展开全文
  • import numpy as np ... x5 = np.array([1, 2, 3, 4,5])# x4和x5用来调整柱子位置,和显示横坐标刻度 y1=np.array([2,8,3,3]) #柱一数据 y2 = np.array([5,5,6,3]) #柱二数据 plt.rcParams['font
    import numpy as np
    import matplotlib.pyplot as plt
    
    if __name__ == "__main__":
        x4=np.array([1,2,3,4])
        x5 = np.array([1, 2, 3, 4,5])# x4和x5用来调整柱子位置,和显示横坐标刻度
        y1=np.array([2,8,3,3])  #柱一数据
        y2 = np.array([5,5,6,3])  #柱二数据
        plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
        plt.ylabel(u'纵坐标')
        plt.xlabel(u'横坐标')
        plt.bar(x4+0.3, y1, 0.35,color="b", align="center", label="柱一")#融合威胁评估方法
        #bar方法画柱状图,x4数组用来调整柱子的位置,x4+0.3代表第一个柱子的横坐标,y1为柱子的高度,即纵坐标
        plt.bar(x4+0.65, y2, 0.35,color="g", align="center", label="柱二")#TOPSIS方法
        # bar方法画柱状图,x4数组用来调整柱子的位置,x4+0.65代表第二个柱子的横坐标,y2为柱子的高度,即纵坐标
        font1 = {'family': 'SimHei',
                 'weight': 'normal',
                 'size': 10, }     ##设置图例大小位置
        plt.xticks(x5,["1","2","3","4","5"])##横坐标刻度标签,因为我是把柱子画在刻度之间,所以画4个柱子要5个刻度
        for i in range(0,4): #for内语句为添加柱状图的数据标签,x4[i]+0.3代表数据横坐标,y1[i]+0.0003代表数据纵坐标,y1[i]数据标签内容
          plt.text(x4[i]+0.3, y1[i]+0.0003,y1[i], ha='center', va='bottom', fontsize=9,color = "b")
          plt.text(x4[i] + 0.65, y2[i] + 0.0003, y2[i], ha='center', va='bottom', fontsize=9, color="g")
        plt.legend()
    
        plt.show()
    

    在这里插入图片描述

    展开全文
  • 用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。import numpy as npimport matplotlib.pyplot as pltx...

    用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。

    import numpy as np

    import matplotlib.pyplot as plt

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.show()

    x坐标和y坐标都表示1到12的整数,不进行坐标设置时,执行效果为:

    20200516103411.jpg

    此时的x轴和y轴都是只显示偶数,其它的奇数未显示,这样在展示实验效果或放入文章中都会影响其可读性。

    为了设置坐标轴的值,增加其可读性,有多种方法。这里介绍的是matplotlib的函数xticks()和yticks()。

    xticks()中有3个参数:

    xticks(locs, [labels], **kwargs) # Set locations and labels

    locs参数为数组参数(array_like, optional),表示x-axis的刻度线显示标注的地方,即ticks放置的地方,上述例子中,如果希望显示1到12所有的整数,就可以将locs参数设置为range(1,13,1),第二个参数也为数组参数(array_like, optional),可以不添加该参数,表示在locs数组表示的位置添加的标签,labels不赋值,在这些位置添加的数值即为locs数组中的数。

    如下图

    import numpy as np

    import matplotlib.pyplot as plt

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks(x)

    plt.show()

    20200516103423.jpg

    xticks()函数中,locs参数为数组x,即1到12所有的整数, 即画出的图像会在这12个位置画出ticks,即上图中的刻度线。

    当赋予labels的值为空时,则在locs决定的位置上虽然会画出ticks,但不会显示任何值。

    import numpy as np

    import matplotlib.pyplot as plt

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks(x,())

    plt.show()

    其效果为:

    20200516103431.jpg

    该例子中,会明显看到locs和labels的关系,locs表示位置,labels决定这些位置上的标签,labels的默认值为和locs相同。

    所以,对于labels参数,我们可以赋予其任意其它的值,如人名,月份等等。

    import numpy as np

    import matplotlib.pyplot as plt

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks(x, ('Tom','Dick','Harry','Sally','Sue','Lily','Ava','Isla','Rose','Jack','Leo','Charlie'))

    plt.show()

    在每个标签会依次显示labels中的人名:

    20200516103438.jpg

    还可以显示月份:

    import numpy as np

    import matplotlib.pyplot as plt

    import calendar

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks(x, calendar.month_name[1:13],color='blue',rotation=60)

    plt.show()

    显示效果为:

    20200516103446.jpg

    这里添加了 calendar 模块,用于显示月份的名称。calendar.month_name[1:13]即1月份到12月份每个月份的名称的数组。后面的参数color='blue'表示将标签颜色置为蓝色,rotation表示标签逆时针旋转60度。

    通过上个示例,可看出第3个参数关键字参数**kwargs用于控制labels,具体可通过Text属性中的定义,添加到该参数中,关于其定义可参考在 Text查询。

    另外,通过第1个参数locs可以看出,xticks()函数还可以用来设置使x轴上ticks隐藏,即将空数组赋予它,则没有tick会显示在x轴上,此处参考:x轴数值隐藏。

    import numpy as np

    import matplotlib.pyplot as plt

    import calendar

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks([])

    plt.show()

    可看出x轴上没有tick显示:

    20200516103455.jpg

    同理,对于yticks()函数定义和xticks()函数定义完全相同。对于第一个例子,如果希望在y轴上的刻度线也显示1到12所有的整数,则将lens(1,13,1)赋予yticks()的locs参数即可:

    import numpy as np

    import matplotlib.pyplot as plt

    import calendar

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks(x)

    plt.yticks(y)

    plt.show()

    其效果为:

    20200516103503.jpg

    综上,可以设计一个x轴为月份,y为星期的图像:

    import numpy as np

    import matplotlib.pyplot as plt

    import calendar

    from datetime import *

    x = range(1,13,1)

    y = range(1,13,1)

    plt.plot(x,y)

    plt.xticks(x, calendar.month_name[1:13],color='blue',rotation=60)

    today = datetime(2018, 9, 10)

    a=[]

    for i in range(12):

    a.append(calendar.day_name[today.weekday()+(i%7)])

    plt.yticks(y,a,color='red')

    plt.show()

    20200516103510.jpg

    对应一月份选择星期一,二月份选择星期二,往后依次类推,直至将12个月安排完。

    以上这篇python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • 在使用python进行音频信号处理时,使用plt.plot绘柱状图时,希望横坐标为整数,即音频通道号,通常使用的方法是: xticksig = np.arange(1,1+MicNum) 或给它加个步长: xticksig = np.arange(1,1+MicNum,1) 但是...
  • label_list = ['色调', '红色均值', '相对红色分量', '粗度','高频能量'] # 横坐标刻度显示值 xx = range(len(label_list)) rects1 = plt.bar(x=xx, height=mean1, width=0.4, alpha=0.8, color='blue') plt.ylim(0,...
  • matplotlib绘图——柱状图 matplotlib 的几种柱状图 python 绘制分组对比柱状图 Python设置matplotlib.plot的坐标刻度间隔以及刻度范围
  • python 柱状图显示中文

    2021-02-22 14:43:33
    解决matplotlib中文显示问题. plt.rcParams[‘font.sans-serif’] = [‘SimHei’] plt.rcParams[‘axes.unicode_minus’] = False
  • 1. 中文标注windows+linuxplt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题)Macfrom matplotlib....
  • Python seaborn.barplot精简横坐标刻度

    千次阅读 2021-04-07 12:11:27
    Poul_henry同学在博客https://blog.csdn.net/Poul_henry/article/details/82590392已经说得很详细了,但是没有提到如何精简横坐标刻度的问题,这里是一个补充。 直接放代码 import numpy as np import pandas as pd ...
  • 一、pyecharts简介pyecharts主要基于Web浏览器进行显示,绘制的图形比较多,包括折线图、柱状图、饼图、漏斗图 地图和极坐标图等。使用pyecharts绘图代码量很少,但绘制的图形比较美观。pyecharts 分为 v0.5.X 和 v1...
  • 普通坐标刻度 import matplotlib.pyplot as plt y=[pow(10,i) for i in range(0,10)] x=range(0,len(y)) plt.plot(x, y, 'r') plt.show() 纵坐标刻度为10^n import matplotlib.pyplot as plt y=[p...
  • 问题描述:在使用matplotlib绘图时,一般会自动设置坐标刻度。很多时候,这个自动设置并不合适,用户更希望绘制结果的坐标轴上只显示有效刻度,也就是只显示有对应值的刻度。参考代码:运行...
  • python横向多组柱状图

    千次阅读 2020-11-25 10:27:42
    cq=df['Grassy_Sd']/pow(15,1/2) #绘图大小和清晰度 plt.figure(figsize=(8,10),dpi=300) #横向柱状图 plt.barh(df.index,df['Withering_Mean'],height=0.3,xerr=ck,error_kw = {'ecolor' : '0.2', 'capsize' :2},...
  • matplotlib中实现坐标刻度应用的函数是: matplotlib.pyplot.xticks和matplotlib.pyplot.yticks xticks()中有3个参数: xticks(locs, [labels], **kwargs) # Set locations and labels locs参数为数组参数(array_...
  • Python绘图】柱状图

    千次阅读 2022-02-18 15:32:09
    柱状图的一些画法
  • python绘制中文柱状图+显示数字

    千次阅读 2021-08-21 10:17:06
    python绘制中文柱状图+显示数字 import numpy as np import matplotlib.mlab as mlab import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文 X = ['意大利', '法国', '美国', ...
  • python中画图如何修改横坐标大小?

    千次阅读 2020-11-25 09:39:42
    用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。import numpy as npimport matplotlib.pyplot as pltx...
  • 总结matplotlib绘图如何设置坐标刻度大小和刻度。上代码:from pylab import *from matplotlib.ticker import MultipleLocator, FormatStrFormatterxmajorLocator = MultipleLocator(20) #将x主刻度标签设置为20的...
  • 本文介绍双坐标柱状图及双坐标柱线图的绘制
  • 绘制同y轴双侧柱状图,且y轴位置在坐标为0的位置,左右x轴均为正值1 背景2 问题解决 手动反爬虫:原博地址 https://blog.csdn.net/lys_828/article/details/122371273 知识梳理不易,请尊重劳动成果,文章仅发布在...
  • 本文章记录双坐标柱状图的绘制过程。
  • x=np.array(list(range(1,len(data)+1))) #准备柱状图的高度列 y1=np.array(data[aim_index]) #AP y2=np.array(data[aim_index]) #RS y3=np.array(data[aim_index]) #EA y_total=np.array(data[aim_index]) region=...
  • 我尝试重新创建你的问题但不知道你的标签到底是什么,我只能给你一些关于这个问题的评论.您可以采取一些措施来减少标签的重叠,包括标签的数量,字体大小和轮换.这是一个例子:import pandas as pdimport numpy as np...
  • python绘制横向水平柱状条形Bar

    千次阅读 2020-11-20 19:46:19
    python绘制横向水平柱状条形Barimport matplotlibimport randomimport matplotlib.pyplot as plt# 中文乱码和坐标轴负号处理。matplotlib.rc('font', family='SimHei', weight='bold')plt.rcParams['axes.unicode_...
  • 如下,当横轴时间为13天时,echarts会自动隔天显示如果我们想显示全,则需要在xAxis 属性加上axisLabel:{interval: 0}"xAxis":[{"data":["2015-5-13","2015-5-14","2015-5-15","2015-5-16","2015-5...
  • 文章目录一、坐标刻度定位器二、散点图三、柱状图四、颜色填充 一、坐标刻度定位器 1、步骤 1)创建:定位器对象 = mp.XXXLocator(…) 2)获得坐标轴:ax = mp.gca() 3)主刻度:ax.xaxis.set_major_locator(定位器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,554
精华内容 621
热门标签
关键字:

python柱状图横坐标刻度